2016-08-24 2 views
0

データベースの値をコンボボックスに表示するにはどうすればいいですか?私はこのように試してみた:データベースの値をコンボボックスに表示するにはどうすればいいですか?

http://pastebin.com/gZL4qAPS

$result = $koneksi->query(
    "SELECT tb_sekolah.idSekolah, 
     tb_sekolah.namaSekolah, 
     tb_sekolah.tb_kategori_sekolah_idKategori, 
     tb_kategori_sekolah.namaKategori, 
     tb_uptd.namaUPTD, 
     tb_sekolah.alamat, 
     tb_sekolah.telp, 
     tb_sekolah.kataSandi, 
     tb_sekolah.status 
    FROM tb_sekolah, tb_kategori_sekolah, tb_uptd 
    WHERE tb_sekolah.tb_kategori_sekolah_idKategori = tb_kategori_sekolah.idKategori 
    AND tb_uptd.idUPTD = tb_sekolah.tb_UPTD_idUPTD 
    AND idSekolah='$id'" 
); 

while ($row = $result->fetch_array()){ 

    <select name="id_kategori" size="1" class="form-control" required> 
     <option label="-- Pilih Kategori --" ></option> 
     <?php //looping kategori 
     $result1 = $koneksi->query("SELECT * FROM tb_kategori_sekolah"); 
      while ($row1 = $result1->fetch_array()){    
       if ($row['tb_kategori_sekolah_idKategori']==$row1['idKategori']){ 
        $status = 'selected' ; 
       } ?> 
       <option <?php echo isset($status)?$status:''; ?> value="<?php echo $row1['idKategori'] ?>"><?php echo $row1['namaKategori']; ?> 
       </option> 
      <?php 
      } 
      ?> 
    </select> 
<?php 
} 
?> 

常にあなたが宣言し設定していないので、それは単にあるtb_kategori_sekolah

+1

** WARNING **のようにすると仮定しますクエリ内で使用されます。可能な限り**準備文**を使用してください。これらは[mysqli](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と[PDO](http://php.net/manual/)で行うのはかなり簡単です。 en/pdo.prepared-statements.php)ここで、ユーザが提供するデータは '?'または ':name'のインジケータで指定され、後で' bind_param'や 'execute'を使ってデータを入力します。 – tadman

答えて

0

の最後の値になるように選択された

$status = NULL;

While関数内

これは、いくつかの深刻な[SQLインジェクションのバグ]を持っている(http://bobby-tables.com/)データ_GET` $ `理由:

あなたのコードは、この

<select name="id_kategori" size="1" class="form-control" required> 
    <option label="-- Pilih Kategori --" ></option> 
    <?php //looping kategori 
    $result1 = $koneksi->query("SELECT * FROM tb_kategori_sekolah"); 
     while ($row1 = $result1->fetch_array()){    
      // DECLARE THIS AS NULL 
      $status = NULL; 

      if ($row['tb_kategori_sekolah_idKategori']==$row1['idKategori']){ 
       $status = 'selected' ; 
      } ?> 
      <option <?php echo isset($status)?$status:''; ?> value="<?php echo $row1['idKategori'] ?>"><?php echo $row1['namaKategori']; ?> 
      </option> 
     <?php 
     } 
     ?> 
</select> 

+0

が試行され、成功しなかった 固定コンボボックスの値はtb_kategori_sekolah のすべての結果を表示し、変数$ statusは機能しません –

関連する問題