2013-05-22 3 views
-1

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

таблица выглядит следующим образом:

id option class 
1 opt1  cl1 
2 opt2  cl2 
3 opt3  cl3 
4 opt4  cl4 

мой код выглядит следующим образом:

mysql_connect(DB_SERVER, DB_USER, DB_PASS); 

    //select DB 
    mysql_select_db(DB_NAME); 

    //query 
    $query = " SELECT * 
       FROM `".TBL_OPTIONS."` "; 

    //result query 
    $result = mysql_query($query); 

    // fetch query results 
    $records = mysql_fetch_array($result, MYSQL_ASSOC); 

    //var_dump($records); 

    echo "<select>"; 
    foreach($records["id"] as $id){ 
     echo "<option id=$id>"; 
     echo $records["naam"]; 
     echo "</option>"; 
    } 
    echo "</select>"; 

Это только возвращает меня в первый ряд. Затем он останавливается. my var_dump, который прокомментирован, показывает, что он выбрал только одну строку. Любая помощь? :)

+3

Вам явно нужно прочитать, что фактически делает mysql_fetch_array: http://php.net/mysql_fetch_array – deceze

+0

Где ваш цикл while? Прочтите примеры: http://php.net/mysql_fetch_array – Jocelyn

+0

Снова и agin, прекратите использовать 'mysql_ *' функции. Вместо этого используйте PDO или MySQLi. – Raptor

ответ

0

Попробуйте как этот

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    echo "<option id=$row['id']>"; 
    echo $row["naam"]; 
    echo "</option>"; 
} 
+0

Любые причины, чтобы уменьшить ее .. ?? – Gautam3164

+0

То же самое для меня было пару секунд опоздать на победу, я полагаю. – Bryan

+0

Даже я получил downvote для этого – Gautam3164

3

Конечно, извлекает только одна запись. mysql_fetch_array() получает только текущую строку. Чтобы получить все строки, вам нужно будет зациклиться на нем.

while($records = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    //Do something 
} 

Пожалуйста, обратите внимание, что mysql_* функции теперь устарела и не поддерживается PHP. Вместо этого вы должны использовать PDO или MySQLi.

+0

Спасибо, я знал, что с моим зацикливанием что-то не так, но просто не мог поднять мой палец. – nlreturns

Смежные вопросы