Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как убрать запятую?

Как убрать запятую?


     16.09.2013    Общие вопросы по PHP, MySQL    2665

вопрос
Добрый день! Нужно поставить запятые между запросами, а в конце, у последнего запроса не ставить, как сделать?
Если:
$row['name'] = (name1 name2 name3 name4...)

Я сделал так:


но запятые убеИраются у всех значений!

Нужно: name1, name2, name3, name4
А получается (без $fb): name1, name2, name3, name4,
C ($fb): name1 name2 name3 name4

Так вот, как убрать запятую только у name4?

Ответил: Sander


$insarr = array();
while ($rows = $db->get_row($tbe)) $insarr[] = $rows['name'];
$tplb->set ( '{name}', implode(", ",$insarr));

12 комментариев

Ayk
Юзер

Ayk - 16 сентября 2013 13:51 -

Также пробывал:


while ($rows = $db->get_row($tbe)) {
$kb = $rows['name'];
$jc = $kb.', ';
$str = "$jc";
$xc = substr($str, 0, strlen($str) - 1);
$tplb->set ( '{name}', $xc);
}

В БД записаны имена (пример): "Владимир Путин" каждые со совим id
Помогите, пожалуйста! Сижу уже часа 3!!!

Ayk
Юзер

Ayk - 16 сентября 2013 15:09 -

Не помогло, теперь просто выходит {name}

Sander
PHP-developer

Sander - 16 сентября 2013 15:19 -

Не заметил, что у вас другая переменная, не $tpl а $tplb

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Ayk
Юзер

Ayk - 16 сентября 2013 15:24 -

А запятых все равно нет. :(

выходит просто: name1 name2 name3 name4

Sander
PHP-developer

Sander - 16 сентября 2013 15:36 -

Значит у вас не правильно написан весь код, а не только этот кусочек, что вы показали.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Ayk
Юзер

Ayk - 16 сентября 2013 15:41 -

$lcl - это список id, пример: 1, 2, 3

$tbe = $db->query("SELECT name FROM person WHERE id_person in ($lcl)");

$insarr = array();
while ($rows = $db->get_row($tbe)) $insarr[] = $rows['name'];
$tplb->set ( '{name}', implode(", ",$insarr));

Ayk
Юзер

Ayk - 16 сентября 2013 17:20 -

Вот точнее


$tbe = $db->query("SELECT name FROM person WHERE id_person = '$lcl'");

$insarr = array();
while ($rows = $db->get_row($tbe)) $insarr[] = $rows['name'];
$tplb->set ( '{name}', implode(", ",$insarr));

TheImDim
Юзер

TheImDim - 16 сентября 2013 17:58 -


while ($rows = $db->get_row($tbe)) {
$kb = $rows['name'];
$str="$kb, ";

$fg = substr($str, 0, -2);
$tpl->set ( '{name}', $fg);

}

Ayk
Юзер

Ayk - 16 сентября 2013 18:10 -

TheImDim, почему-то теперь удалились не запятые, а имена, т.е. до запятой. И не у последнего значения, а у всех :(

TheImDim
Юзер

TheImDim - 16 сентября 2013 18:12 -

хотя не, бред, вот так правильно, но лучше собрать в массив а потом собрать в строку


while ($rows = $db->get_row($tbe)) {
  $names = $rows['name'].", ";
}

if( $names ) $names = substr( $names, 0, -2 );
$tpl->set ( '{name}', $names);


Ayk
Юзер

Ayk - 16 сентября 2013 18:15 -

Проблема осталась :( я уже замучался... Также удаляет до запятой и у всех значений, а не у последнего...

Sander
PHP-developer

Sander - 16 сентября 2013 19:20 -

Все же мне кажется, что у вас проблема не конкретно в данном куске кода, а глобально во всем файле.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх