2017-01-12 42 views
0

タイトルに述べたように、データベースからデータをフェッチし、HTMLのオプションの値にしたいと考えています。しかし、それは何も表示されません。私のデータベースでは、私は20のデータを持っています、オプションは20値thoを持っていますが、それはすべて空白です。私がどこに間違っているか教えてくれますか?データベースから値をHTMLに取り出して表示しますが、表示しません

<?php 
    $query = "SELECT name_program FROM vote.program"; 
    $result = mysql_query($query); 
?> 
<div class="form-group"> 
    <label>Program</label> 
     <select class="form-control"> 
      <option selected disabled>-- Select Program --</option> 
      <?php 
       while ($row = mysql_fetch_array($result)){ 
        echo '<option value='.$row['name_program'].'</option>'; 
       }          
      ?> 
     </select> 
</div> 
+3

あなたは 'mysql_ *'関数を使用して停止する必要があります。彼らは3年後に廃止され、PHP7 + *ではもはや動作しなくなりました。それ以外にも、あなたはSQLインジェクションを開いています。代わりに 'mysqli *'やPDOを使うべきです。より単純な言葉では、あなたはもはや選択肢がありませんが、正しくコーディングする方法を学びます。 – icecub

+0

ロードするとページに何も表示されません。エラーログをチェックする場合は500ですか? HTMLが不正です。 – chris85

+0

@icecub aye、行います。 – moncici

答えて

1

あなたはオプション間違った方法を書かれている、それは@icecubは述べたように、あなたはmysql_の*機能を使用しないでください

echo '<option value="'.$row['name_program'].'">'.$row['name_program'].'</option>'; 

ようにする必要があり、あなたはPDOまたはmysqliのを見なければなりません。

0

これを試してみてください。

<?php 
$con=mysqli_connect("localhost","my_user","my_password","my_db"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$sql="SELECT name_program FROM vote.program"; 
$result=mysqli_query($con,$sql); 

?> 


<div class="form-group"> 
<label>Program</label> 
<select class="form-control"> 
    <option selected disabled>-- Select Program --</option> 
    <?php 

    while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) 
    { 
     echo '<option value='.$row['name_program'].'>'.$row['name_program'].'</option>'; 
    } 
    ?> 
</select> 
</div> 
+0

ありがとう!できます。 – moncici

+0

それがあなたを助けてくれたら、私の答えを受け入れてください。 @moncici – mith

関連する問題