2013-10-14 3 views
-5

я пытаюсь заполнить выпадающее меню с помощью PHPвыпадающее меню с использованием PHP и MySQL

Вот мой код

  <? 
     $dbstate = new DB(); 
     if (!$dbstate->open()) { 
      die ($dbstate->error()); 
     } 
     if (!$dbstate->query("SELECT ename FROM external_detail order by eid")) { 
      die ($dbstate->error()); 
     } 
      ?> 
       <select name="selstate" > 
       <option value="0">Select state</option> 
      <? 
       while ($row = $dbstate->fetchAssoc()) { 
      ?>   
       <option value="<?=$row['eid']?>"> 
       <?=$row['ename'] ?> 
       </option> 
     <? 
         } 
        $dbstate->freeResult(); 
        $dbstate->close(); 
     ?> 
       </select>  

мой выпадающее меню не заселяется Пожалуйста, вы можете сказать мне, где я буду неправильно ... Thnx за помощь

+2

Какова реальная проблема ваш код? –

+0

@juergend форматирование есть. – rightfold

+0

мое выпадающее меню не заселено – Priyesh

ответ

3

Ты ничего не вторя:

<option value="<?php echo $row['eid']?>"><?php echo $row['ename'] ?></option> 

Может быть, вы имели в виду использовать короткий тег для эха (<?=), но вы не

+0

Не забудьте использовать 'htmlspecialchars' при выводе данных на страницы HTML, иначе вы склонны к SQL-инъекции (и все будет не так, когда символы типа' <'находятся в' $ row ['eid'] '). –

+0

Согласитесь на экранирование перед выходом (во избежание взлома html тоже), но какая инъекция SQL связана с ускорением html? Может быть, вы имеете в виду атаки XSS? –

+0

Aargh, я просто видел слишком много кода, который склонен к SQL-инъекции, что я случайно написал «SQL-инъекцию», где я на самом деле хотел написать «XSS-атаки». –

0

Вы пропустили «=» от эхо-стенографии ...

<option value="<?= $row['eid']?>"> 
    <?= $row['ename'] ?> 
</option> 
Смежные вопросы