kmx
@kmx

PHP while последний элемент

$req = mysql_query('SELECT * FROM `name` ORDER BY `id` DESC LIMIT 5;');
if (mysql_num_rows($req) > 0) {
    while ($res = mysql_fetch_assoc($req)) {
    echo '{
      "id": "' . $res['id'] . '",
      "ds": "' . $res['ds'] . '",
      "sd": "' . ' . $res['sd'] . ' . '"
      }, <br/>';
             }
          }
?>

Привет тостеровцы.
Есть примитивный вывод инфы из базы.
Как сделать, чтобы при последнем элементе добавлялось }
'; а не },
'; (без запятой перед переносом)?
  • Вопрос задан
  • 3805 просмотров
Решения вопроса 2
@tushev
Если вы пытаетесь сделать вывод в формате JSON, то может быть лучше сначала запихать выборку из БД в массив-таблицу, а потом вывести все через json_encode().
Ответ написан
egor_nullptr
@egor_nullptr
$strings = [];
while ($res = mysql_fetch_assoc($req)) {
    $strings[] = sprintf('{"id" : "%d", "sd" : "%s", "ds" : "%s"}', $res['id'], $res['sd'], $res['ds']);
};

echo implode(',', $strings) . ';';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы