2017-12-04 9 views
0

これを私のコードに挿入して、SQLテーブルを介してドロップダウンメニューを生成しようとしましたが、ドロップダウンメニューに何も応答しません。 SQLクエリを実行すると、エラーも表示されません。私のエラーを修正するのに十分親切にしてください。PHPのSQLテーブルからドロップダウンメニューを作成する方法

$result = mysqli_query($db, $sql); 

そしてしばらくの条件でそれを使用して::

while ($row = mysqli_fetch_array($result)) { 

選択し、UNITID選択」もあるべきのunitNameを

<?php 
      $db = mysqli_connect('localhost', 'root', '', 'registration'); 
      $sql = "Select (unitid) from unit where (unitname)= 
('$unitname')"; 
      mysqli_query($db, $sql); 

      echo "<select name='unitid'>"; 
      while ($row = mysql_fetch_array($sql)) { 
       echo "<option value='" .$row['unitid']."'> ".$row['unitname'] . "</option>"; 
      } 
      echo "</select>"; 
      ?> 

答えて

1

がmysqli_queryの結果を保存してください、ありがとうございました。 .. "オプションで使用されているユニット名も返す:

$sql = "SELECT unitid, unitname FROM unit WHERE unitname = '$unitname'"; 

そして、SQLインジェクション攻撃からそれを防ぐには、プリペアドステートメントを使用する必要があります。

コンボに示されるすべてのユニットがに選択を変更したい場合は:だから

$sql = "SELECT unitid, unitname FROM unit"; 

、コードは今のようになります。

<?php 
     $db = mysqli_connect('localhost', 'root', '', 'registration'); 
     $sql = "Select unitid, unitname from unit"; 
     $result = mysqli_query($db, $sql); 

     echo "<select name='unitid'>"; 
     while ($row = mysqli_fetch_array($result)) { 
      echo "<option value='" .$row['unitid']."'> ".$row['unitname'] . "</option>"; 
     } 
     echo "</select>"; 
?> 
+0

申し訳ありませんが動作していないようです。 – user8767975

+0

unitname = '$ unitname'は1つの結果しか返さないため、選択を確認してください。あなたがドロップダウンにすべてのユニットを表示したい場合は、私が推測するように、単にどこを削除しますか? – jeprubio

0
 <?php 
     $db = mysqli_connect('localhost', 'root', '', 'registration'); 
      $sql = "Select unitid, unitname from unit where unitname=\"".$unitname."\""; 

     $rows = array(); 
     $return = mysqli_query($db, $sql); 
     while($row = mysqli_fetch_array($return, MYSQLI_ASSOC)) 
      $rows [] = $row; 
     echo "<select name='unitid'>"; 
     for($i=0; $i<count($rows); $i++) 
      echo "<option value='".$rows['unitid']."'> ".$rows['unitname']."</option>"; 

     echo "</select>"; 
     ?> 

あなたはしませんでした配列を正しく取得して、クエリが基本的に空の配列を返すようにします。また、間違ったクエリを書きました。この解決策はうまく動作するはずです

関連する問題