Удалите последнюю запятую или не печатайте вообще MySQL / PHP - PullRequest
1 голос
/ 21 марта 2012

Я печатаю набор слов, помещенных в базу данных MySQL, и извлекаю их с помощью PHP.Я хочу представить его как разделенный запятыми список, но мне нужно, чтобы он не печатал и не удалял последнюю запятую.Как я мог это сделать?

Я пытался использовать rtrim, но я, вероятно, сделал это неправильно.Это мой код такой, какой он есть сегодня:

<?php

$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);

while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keyword = $row0['LCASE(ord)'];

echo "$keyword, ";
?>

Я пытался использовать rtrim, моя попытка была примерно такой (я могу быть достаточно честным, чтобы сказать, что я в этом над головой;))

$keyword = $row0['LCASE(ord)'];
$keywordc = "$keyword, ";
$keyword- = rtrim($keywordc, ', ');
echo "$keyword-, ";

Как вы можете себе представить, это напечатало немного (но по крайней мере не оставило меня с пустой страницей ...)

Ответы [ 3 ]

4 голосов
/ 21 марта 2012

Я бы сделал:

$keywords = array();
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
   $keywords[] = $row0['LCASE(ord)'];
}

echo implode(',', $keywords);
2 голосов
/ 21 марта 2012

Обычно я делаю это, помещая результаты в массив сначала

$some_array = array();
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC)) {
   $some_array[] = $row0['LCASE(ord)'];
}

, а затем просто:

echo "My List: " . implode(', ', $some_array);
// Output looks something like:
My List: ord1, ord2, ord3, ord4
0 голосов
/ 21 марта 2012
substr($string, 0, -1);

Удаляет последний символ.

...