[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод из базы2
SunSet
PHP
<?php
$result5 
mysql_query("SELECT * FROM dan",$db);
$myrow5 mysql_fetch_array($result5);

while(
$myrow5 mysql_fetch_array($result5))
{
    echo 
"<option value='".$myrow5['country']."'>".$myrow5['country']."</option>".PHP_EOL;
}


Подскажите в чем проблема. Весь этот скрипт работает, но вывод происходит со второй строки, а не с первой? То есть в базе всего 4 записи, а выводится только с 2 по 4ю. blink.gif


Таблица в базе такая:

id stars country city
___________________________
1 __ 2 __ usa __ city4
2 __ 3 __ ukraine __ city3
3 __ 5 __ russia __ city2
4 __ 2 __ austria __ city1

Очищал всю таблицу, заного вводил, всеравно ничего. То есть как видно с таблицы usa не выводится, причем, если добавить поле выше usa, то не будет уже оно выводится.




Спустя 8 минут, 38 секунд (13.08.2009 - 21:06) sergeiss написал(а):
Выкинь эту строчку, находящуюся перед циклом:
Цитата (SunSet @ 13.08.2009 - 21:58)
$myrow5 = mysql_fetch_array($result5);

Спустя 4 минуты, 29 секунд (13.08.2009 - 21:11) SunSet написал(а):
sergeiss
Таки прав smile.gif А почему она отсекает первую строку?

Спустя 11 минут, 18 секунд (13.08.2009 - 21:22) Gradus написал(а):
Цитата (SunSet @ 13.08.2009 - 18:11)
sergeiss
Таки прав smile.gif А почему она отсекает первую строку?

Она не отсекает,а просто берёт.Но ты её никуда не выводиш,а цикл while продолжает дальше вытягивать строки из базы.

Спустя 27 минут, 26 секунд (13.08.2009 - 21:49) sergeiss написал(а):
Цитата (SunSet @ 13.08.2009 - 22:11)
А почему она отсекает первую строку?

Потому что mysql_fetch_array считывает строку из выборки, возвращает ее в виде массива и указатель переходит на следующую строку.

Спустя 15 минут, 31 секунда (13.08.2009 - 22:05) SunSet написал(а):
sergeiss
Подскажи еще одну вещь... у меня в цикле вывод такой строки "'usa':{'ny':'ny','ny':'ny'},", значения в нем меняются в зависимости что вытягивается из баы. Но цикл вывода так устроен что добавляет запятую в конце строки, так как много строчек для вывода. А как сделать чтобы последняя строчка была без запятой уже, а то Аваскрипт при лишней запятой отказывается работать.

syncList1.dataList = {
PHP
<?php
$result7 
mysql_query("SELECT stars,city FROM dan",$db);
while(
$myrow7 mysql_fetch_array($result7))
{
echo 
"'".$myrow7['city']."':{'".$myrow7['stars']."':'".$myrow7['stars']."','".$myrow7['stars']."':'".$myrow7['stars']."'},".PHP_EOL;
}
};

Спустя 3 минуты, 13 секунд (13.08.2009 - 22:08) sergeiss написал(а):
Да просто, вобщем-то smile.gif
PHP
// перед циклом
$loop=0;
while(
 ..... )
{
  // в самом начале цикла
  if( $loop != 0 ) echo ',';
  $loop++; // и можешь использовать эту переменную еще для каких-то целей.
  // а далее идет твой вывод
  
echo ....
}

Спустя 6 минут, 4 секунды (13.08.2009 - 22:14) SunSet написал(а):
syncList1.dataList = {
PHP
<?php
$result7 
mysql_query("SELECT stars,city FROM dan",$db);
$loop=0;
while(
$myrow7 mysql_fetch_array($result7))
{
if( 
$loop != ) echo ',';
echo 
"'".$myrow7['city']."':{'".$myrow7['stars']."':'".$myrow7['stars']."','".$myrow7['stars']."':'".$myrow7['stars']."'},".PHP_EOL;
}
};
По-моему, чтото я путаю.. sad.gif Из цикла убирать запятую?

Спустя 12 минут, 5 секунд (13.08.2009 - 22:26) sergeiss написал(а):
Я там дописал еще $loop++, буквально через 30 секунд после отправки сообщения smile.gif Потому что просто забыл сразу это написать, хотя, естественно, подразумевал.


_____________
... и помните! Каким бы ни был PHP, главное - чтобы он был защищенным! :) (PHP с Анфисой Чеховой)
Быстрый ответ:

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