[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: выводятся не все значения
karakas
Добрый день.Собственно делаю запрос в БД,пытаюсь вывести,но почему-то пропускается самое первое значение...причем если выполнить тот же запрос в phpmyadmin,выводит нормально.

if(($_POST["stop1"]!="") && ($_POST["stop2"]!="")) {
echo " Найденные автобусы: ";
$sql="SELECT `busname`FROM `ways`WHERE STOP LIKE '".$_POST["stop1"]."%' AND busname IN (SELECT `busname`FROM `ways`WHERE STOP LIKE '".$_POST["stop2"]."%') ";
$do_insert=mysql_query($sql)or die("ошибка извлечения записи:".mysql_error());
$all=@mysql_num_rows($do_insert);
$result=mysql_fetch_array($do_insert);
// вывод найденных автобусов
while($result=mysql_fetch_array($do_insert)){
$name=$result[0];
echo "$name";
}




Спустя 5 минут, 50 секунд (25.04.2011 - 18:13) Игорь_Vasinsky написал(а):
ВО первых почему
'".$_POST["stop1"]."%'

а не так
'%".$_POST["stop1"]."%'


во вторых - опасно так данные посылать в БД

в третьих убери заглушку:
$all=@mysql_num_rows($do_insert);


так

$all=mysql_num_rows($do_insert);

ты вывод ошибок глушишь


4.

$name=$result[0];				 
echo "$name";


???????

echo $result."<br />";

Спустя 1 минута, 24 секунды (25.04.2011 - 18:14) Игорь_Vasinsky написал(а):
если совпадений не будет - получешь ошибку запроса при выводе из БД.

Так что пиши условие:
Если запрос возвращает 0 - то echo "Совпадений не найдено";


Спустя 8 минут, 20 секунд (25.04.2011 - 18:23) karakas написал(а):
Цитата (Игорь_Vasinsky @ 25.04.2011 - 15:13)
echo $result."<br />";

Ну так он просто выводит: Array.
Ведь при
 while($result=mysql_fetch_array($do_insert)){
переменная $result становится массивом.

Спустя 3 минуты, 9 секунд (25.04.2011 - 18:26) Игорь_Vasinsky написал(а):
ссорю:

echo $result['cell']."<br />";

где cell - имя ячейки таблицы

Спустя 1 минута, 52 секунды (25.04.2011 - 18:28) neadekvat написал(а):
karakas, зачем вызывать mysql_fetch_array до цикла? Там вы и теряете первую запись (рекомендую mysql_fetch_array заменить на mysql_fetch_assoc, но к делу это прямого отношения не имеет)

Спустя 1 минута, 55 секунд (25.04.2011 - 18:30) Игорь_Vasinsky написал(а):
Цитата
Игорь_Vasinsky, по 4-му пункту: если $result - массив (что следует из $result[0] - вряд ли автор достает первую букву), то echo $result; сделать нельзя. То есть, можно, но бессмысленно.


я подкорректировал след. постом.

Спустя 37 секунд (25.04.2011 - 18:30) neadekvat написал(а):
Цитата (Игорь_Vasinsky @ 25.04.2011 - 19:30)
я подкорректировал след. постом.

Ок, удаляю у себя лишнее.

Спустя 1 минута, 21 секунда (25.04.2011 - 18:32) Игорь_Vasinsky написал(а):
karakas

проследи за ходом мысли а этом примере:

       #ВЫВОД ТАБЛИЦЫ 2 
$query = mysql_query("SELECT * FROM `test` ORDER BY `id` ASC LIMIT ".$start.",".COUNT);

if($count_rows > 0)
{
while($string = mysql_fetch_array($query))
{
$table .= "<tr><td>".$string['id']."</td>"
. "<td width='10px'></td>"
. "<td>".$string['text']."</td>"
. "<td width='10px'></td>"
. "<td>".$string['order']."</td></tr>";
}

#Построение таблицы
echo "<table>".$table."</table>";
}

mysql_close($link);


гы... бяку успел убрать

Спустя 1 минута, 23 секунды (25.04.2011 - 18:33) karakas написал(а):
Цитата (neadekvat @ 25.04.2011 - 15:28)
karakas, зачем вызывать mysql_fetch_array до цикла? Там вы и теряете первую запись

Ёлки вот я балбес)
Благодарю всех за помощь
Быстрый ответ:

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