Не нравятся результаты поиска? Попробуйте другой поиск!

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


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

вопрос
Добрый день! Нужно поставить запятые между запросами, а в конце, у последнего запроса не ставить, как сделать?
Если:
$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
1

154 | 94

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
1

154 | 94

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

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

Sander
1125

1637 | 1204

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

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

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

ICQ: 404-037-556
Skype: Sander8804

Ayk
1

154 | 94

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

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

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

Sander
1125

1637 | 1204

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

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

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

ICQ: 404-037-556
Skype: Sander8804

Ayk
1

154 | 94

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
1

154 | 94

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
18

327 | 291

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
1

154 | 94

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

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

TheImDim
18

327 | 291

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
1

154 | 94

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

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

Sander
1125

1637 | 1204

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

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

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

ICQ: 404-037-556
Skype: Sander8804

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

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