0

結果を表示する検索エンジンにバグがあります。コードは次のとおりです。

$nmanufacturer = $tApplication[2];

$manufac = mysql_query("SELECT * FROM tManufacturers WHERE nManufacturer='$nmanufacturer'");
$manufacts = mysql_fetch_array($manufac);

//nom du constructeur
$contruct = $manufacts[1];

?>

<select class="form-control">
<option><?php echo $contruct; ?></option>
</select>

問題は、option 要素には 1 つの結果しか表示されないのに、データベースには多数の結果が表示される
ことです。

4

1 に答える 1

0

ボンジュール!あなたはしばらくシクルをしなければなりません。

$nmanufacturer = $tApplication[2];

$manufac = mysql_query("SELECT * FROM tManufacturers WHERE Manufacturer='$nmanufacturer'");

?>

<select class="form-control">
<?php
while($manufact = mysql_fetch_array($manufac)) {
    echo '<option>' . $manufact[1] . '</option>';
}
?>
</select>

mysql_fetch_array 関数は連想配列を返しますが、返す行がもうない場合は FALSE も返します! PHP の While ループを使用すると、この情報を有利に利用できます。

"$row = mysql_fetch_array()" ステートメントを while ループの条件ステートメントとして配置すると、次の 2 つのことが達成されます。

  1. while ループがその条件ステートメントをチェックするたびに、出力できる MySQL 情報の新しい行を取得します。
  2. 行がなくなると、関数は FALSE を返し、while ループが停止します。

http://www.tizag.com/mysqlTutorial/mysqlfetcharray.php経由

于 2013-09-02T13:33:23.733 に答える