同じクエリで4つの選択肢が設定されていますが、1番目の選択肢のみが入力され、後続のものは入力されません。事実、それが2番目の選択に達すると、page_load()は停止します。
質問:
1)page_loadを停止させる要因は何ですか?
2)同じデータを返すために複数のDB呼び出しを行う必要がないように、コードを再利用する方法はありますか?ここで1回目のDBコールで返されるデータ
は私の構文は次のとおりです。
<div id="OrderInfo" runat="server">
<table id="orderinginfo">
<tr>
<td>
<label for="labelselect">Choose an Item</label>
<select>
<option value="null" selected="selected"></option>
<?php
include 'phpquery.php';
$sql = "Select item from items";
echo get_items($sql);
?>
</select>
</td>
</tr>
<tr>
<td>
<label for="labelselect1">Choose an Item:</label>
<select>
<option value="null" selected="selected"></option>
<?php
include 'phpquery.php';
$sql = "Select item from items";
echo get_items($sql);
?>
</select>
</td>
</tr>
</table>
</div>
<?php
function get_items($sql) {
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc()) { echo "<option value=".$row['item'].">".$row['item']."</option><br>"; }
}
else echo "<option value='null'>default</option>";
$conn->close();
}
?>
includeステートメントは、.phpファイルのどこにでも追加できますか、または呼び出し元プロシージャのすぐ上で使用する必要がありますか? –
関数 'get_items'は' phpquery.php'の中にありますか? –
はい、私の関数get_itemsはphpquery.phpの中にあります –