сортировка — необходимо отформатировать результаты PHP в запросе

Я Обезьяна вижу, как Обезьяна делает Программиста. так что в моем возрасте до старости учиться чему-то новому. Мне нужен совет и помощь!

Мне нужно вытащить данные из таблицы. (См. Поля таблицы ниже)

  • Я БЫ
  • заглавие
  • Дата Отправки
  • Описание
  • Картина

(Это я могу сделать и перечислить их совершенно друг под другом), используя

<?php
try {
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
$conn->exec("SET CHARACTER SET utf8");// Sets encoding UTF-8
$sql = "select * from TableNews Order by DatePosted ASC LIMIT 5 " ;
$result = $conn->query($sql);
if($result !== false) {
$cols = $result->columnCount();
foreach($result as $row) {
echo $row['Title'] . "\n";
echo $row['DatePosted'] . "\n";
}
}
$conn = null;
} catch(PDOException $e) {
echo $e->getMessage();
}
?>

Это работает отлично !!!

Здесь мне нужен совет.

В моих результатах мне нужна первая запись, которая выходит только перечислить название и изображение
anbd оставшиеся 4 записи только для отображения -Title -DatePosted -Description.

Многое из того, что похоже на изображение новостей, включенное здесь

Спасибо

снимок экрана, который я взял из Fox News

0

Решение

<?php try {
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
$conn->exec("SET CHARACTER SET utf8");// Sets encoding UTF-8
$sql = "select * from TableNews Order by DatePosted ASC LIMIT 5 " ;
$result = $conn->query($sql);
if($result !== false) {
$cols = $result->columnCount();
$rowcount = 0;
foreach($result as $row) {
if ($rowcount==0) {
echo $row['picture']."<br>";
$rowcount++;
} else {
echo $row['Title']." - ".$row['DatePosted'];
}
if ($rowcount==4) {
$rowcount=0;
}

}
}
$conn = null;
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>

Примерно так: сначала вы устанавливаете счетчик на ноль, затем увеличиваете его для каждой строки, чтобы он отображался при попадании в ваш 4-й ряд, а затем сбрасываете счетчик на ноль, чтобы он отображал картинку. (этот последний этап необходим только в том случае, если вы планируете использовать несколько изображений заголовков на каждом 5-м дисплее, в противном случае вы можете удалить 2-й оператор iff с помощью $ rowcount == 4

1

Другие решения

Вот пример, который поможет вам понять, что именно вам нужно: (кстати, вам нужно только использовать <?php ?> один раз, если ваш код содержит только php)

<?php
try {
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
$conn->exec("SET CHARACTER SET utf8");// Sets encoding UTF-8
$sql = "select * from TableNews Order by DatePosted ASC LIMIT 5 " ;
$result = $conn->query($sql);
if($result !== false) {
$cols = $result->columnCount();
foreach($result as $key => $row) {
if ($key === 0)
$row['Picture'];
echo $row['Title'];
echo $row['DatePosted'];
}
}
$conn = null;
} catch(PDOException $e) {
echo $e->getMessage();
}
?>
1

По вопросам рекламы [email protected]