2015-03-28 6 views
0

function.phpвыпадающего меню с помощью PHP

function getCategories($id = null) { 
     $categoried = array(); 

     $query = mysql_query("SELECT id,name FROM `categories`"); 

     while ($row = mysql_fetch_assoc($query)) { 
       $categories [] = $row; 
    } 

dropdown.php

... 
      <select name="category"> 
        <?php 
        foreach(getCategories() as $category){ 
        ?> 
        <option value=" <?php echo $category['id'];?> " > <?php echo $category['name'];?> </option> 
        <?php 
    } 
    ?> 

Я пытаюсь использовать выпадающее меню, но мне кажется, что я не могу понять, о том, как для заполнения раскрывающегося меню элементами из базы данных mySql. Приведенный выше код не заполняет мое раскрывающееся меню. Так что кто-то может сказать мне, где я допустил ошибку

+0

не использовать mysql_ * использовать bester для использования mysqli_ * ... проверить эту ссылку https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq = 1 –

ответ

1

Верните $categories массив из вашей функции:

function getCategories() { 
    $categories = array(); 
    $query = mysql_query("SELECT id,name FROM `categories`"); 
    while ($row = mysql_fetch_assoc($query)) { 
     $categories[] = $row; 
    } 

    return $categories; // return the results array 
} 

Возвращение массива в функции делает выполнение функции сменного с массивами в выражениях, таких как foreach ($array as $value) {. Вместо $array вы можете поместить функцию, которая возвращает массив: foreach (returnsArray() as $value) {. В этом случае: foreach (getCategories() as $category) {.

+0

И, да, функции PHP 'mysql_ *' ** устарели **. Доступны более безопасные параметры. – bloodyKnuckles

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