[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция implode()
l@pteff
Привет всем, вопрос у меня такой: есть поле ввода для поиска пользователя в базе данных по e-mail. Обрабатывает его след. скрипт:

$query = mysql_query("select email from users where email LIKE '%$poisk%'")or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
echo implode(", ", $row);
}


Однако результаты запроса выводятся сплошным текстом, а не через запятую. Почему не работает функция implode?



Спустя 15 минут, 27 секунд (27.12.2010 - 15:38) ZSH написал(а):

$query = mysql_query("select email from users where email LIKE '%$poisk%'")or die(mysql_error());
$email ='';
while ($row = mysql_fetch_assoc($query)) {
$email .= $row['email'] . ',';
}
echo $email;

Спустя 13 минут, 35 секунд (27.12.2010 - 15:52) l@pteff написал(а):
ZSH, спасибо огромное, работает просто супер


Спустя 1 день, 23 часа, 24 минуты, 59 секунд (29.12.2010 - 15:17) l@pteff написал(а):
ещё вопрос: а как сделать чтоб после перечисления результатов поиска ставилась точка а не запятая? Пробовал так:

$email=$email{strlen($email)-1}='.';

но не сработало. Как это можно исправить? заранее благодарю

Спустя 39 минут, 32 секунды (29.12.2010 - 15:56) Romms написал(а):
после данного кода:
$email[strlen($email)-1]=".";

Спустя 37 минут, 18 секунд (29.12.2010 - 16:34) l@pteff написал(а):
Увы, добавляется точка после запятой. Может быть, есть какая-то функция производящая замену последнего символа в строке?

Спустя 41 минута, 45 секунд (29.12.2010 - 17:15) Romms написал(а):
$email[strlen($email)-2]=".";

а так??

Спустя 55 минут, 17 секунд (29.12.2010 - 18:11) ZSH написал(а):
$query = mysql_query("select email from users where email LIKE '%$poisk%'")or die(mysql_error());
$email ='';
while ($row = mysql_fetch_assoc($query)) {
$email .= $row['email'] . ',';
}

$email = trim($email, ',') . '.';

echo $email;



Спустя 1 час, 12 минут, 48 секунд (29.12.2010 - 19:24) ИНСИ написал(а):
чета я не понял .. может так просто сделать:
while ($row = mysql_fetch_assoc($query)) {
echo $row['email'] . '. ';
}

Спустя 3 дня, 16 часов, 56 минут, 9 секунд (3.01.2011 - 12:20) l@pteff написал(а):
ZSH, выводит точку после запятой в таком виде:

user1@mail.ru,. user2@mail.ru,. user3@mail.ru,.

welbox2, выводит через точку:
user1@mail.ru. user2@mail.ru. user3@mail.ru.
(пока остановился на этом варианте, вроде вполне приглядно), хотя немного и не то хотелось бы:

user1@mail.ru, user2@mail.ru, user3@mail.ru.

парни, спасибо всем, будут идеи пишите в тему

Спустя 38 минут, 2 секунды (3.01.2011 - 12:58) waldicom написал(а):
Пример от ZSH выглядит правильно. Проверяйте у себя еще раз. Может Вы implode в цикл засунули?

Спустя 2 дня, 23 часа, 8 минут, 46 секунд (6.01.2011 - 12:07) l@pteff написал(а):
waldicom, признаю был не прав, пример от ZSH действительно отлично работает. Еддинственное, что пришлось изменить в нём-поставить пробелы после запятой в 4-ой и 6-ой строках, чтобы емэйлы выводились через пробел:

$query = mysql_query("select email from users where email LIKE '%$poisk%'")or die(mysql_error());
$email ='';
while ($row = mysql_fetch_assoc($query)) {
$email .= $row['email'] . ', ';
}
$email = trim($email, ', ') . '.';
echo $email;


ещё раз огромное спасибо всем!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.