Как создать раскрывающийся список формы из таблицы базы данных в php? - PullRequest
0 голосов
/ 25 мая 2009

Я пытаюсь закодировать функцию, которая создает выпадающий список названий школ, выбранных из базы данных. Он прекрасно работает, создавая выпадающий список, но ничего не добавляет в выпадающий список. Вот код:

function schoolDD($name, $selected){
   $select = '';
   if( $selected != null )
   {
      $select = $selected;
   }

     $qry = "select *   
             from   school
             order by name, id
             where display = 'Y'";

     $schools = _execQry($qry);


   $html = '<select name="'.$name.'" >';

   foreach( $schools as $s ){
      $html .= '<option value="'. $s['id'] .'"';
      if( $select == $s['name'] ){
         $html .= 'selected="selected"';
      }
      $html .= '>'. $s['name'] . '</option>';

   }
   $html .= '</select>';
   return $html;
}

Ответы [ 3 ]

0 голосов
/ 25 мая 2009

выглядит нормально, но трудно сказать, не зная, что делает _execQry.

Если вы добавите строку

print_r($schools);

после вызова _execQry, вы определенно извлекаете результаты из базы данных?

0 голосов
/ 25 мая 2009

Я рад, что вы нашли свой ответ, но я думаю, что php и html смешались вместе.

как насчет этого, как это ...

<?php

$schools = getSchools();
$selectedSchool = 'sfgsfgd';
$name = 'asdfsafd';

?>

<select name="<?= $name ?>">
<?php foreach( $schools as $s ): ?>
    <option value="<?= $s['id'] ?>"<?php if( $s['name'] == $selectedSchool ): ?> selected="selected"<?php endif; ?>><?= $s['name'] ?></option>
</select>
0 голосов
/ 25 мая 2009

Проблема решена. Это было потому, что в запросе у меня был порядок до где. Это должно было быть:

$qry = "select *   
             from   school
             where display = 'Y'
             order by name, id";

Не:

 $qry = "select *   
             from   school
             order by name, id
             where display = 'Y'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...