2017-01-02 6 views
-3

ちょっと、データベースから取得するドロップダウンメニューの値に問題があります。 1つではなく2つの値が表示されます。選択されたドロップボックスは、mysqlデータベースから2つの値を表示します

$con = mysqli_connect("localhost","root","") ; 
$myDB = mysqli_select_db($con, "test"); 
$dbEnc = mysqli_set_charset($con, 'utf8'); 

$sqlSELECT = mysqli_query($con, 'SELECT class FROM disastergroups'); 

<!DOCTYPE html> 
<html> 
    <head> 
     <title>test</title> 
     <meta http-equiv="content-type" content = "text/html; charset=utf-8"/> 
    </head> 
    <body> 
     <select name="test"> 
      <option value="">Select...</option> 
      <?php while ($row1 = mysqli_fetch_array($sqlSELECT)): ;?> 
      <option><?php echo implode("\t", $row1); ?></option> 
      <?php endwhile;?> 
     </select> 
     <input type="submit" value="Submit Data"> 
    </body> 
</html> 

下の画像は、ドロップダウンメニューの重複を示しています...これを修正するにはどうすればよいですか? >mixed mysqli_fetch_array (mysqli_result $result [, int $resulttype = MYSQLI_BOTH ])からmysqli_fetch_array()ためresulttypeのデフォルトはint $resulttype = MYSQLI_BOTHあるので

CLICK HERE FOR IMAGE

答えて

2

です。変更 -

while ($row1 = mysqli_fetch_array($sqlSELECT)): 

while ($row1 = mysqli_fetch_array($sqlSELECT, MYSQLI_ASSOC)): 

それとも、ただあなただけの1つの値を取得するようmysqli_fetch_assoc()

while ($row1 = mysqli_fetch_assoc($sqlSELECT)): 

を使用して、あなたがimplode()削除することができますへ - >

<option><?php echo $row1['class']; ?></option> 
+0

'mysqli_fetch_assoあなたはassoc配列を取得します。あなたの答えは数値的に配列された配列をとりますので、 '$ row1 ['class']'は存在しません。それは '$ row1 [0]' – RiggsFolly

+0

になります。または、パラメータ2としてMYSQLI_ASSOCを使用してください。 – RiggsFolly

+0

今や良くなっています – RiggsFolly

関連する問題