我使用相同的查询填充4个选择,但只填充第一个选择而后续选择不填充。事实上,一旦到达第二个选择page_load()就停止了。
的的问题:
1)导致page_load停止的原因是什么?
2)有没有办法重新使用代码,这样我就不必进行多次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();
}
?>
答案 0 :(得分:0)
您正在phpquery.php
重新定义任何功能或类。当您尝试重新定义此类函数或类时,PHP将中止。考虑将该文件phpquery.php
包括一次,然后运行您的函数get_items
。您可以使用include_once
或require_once
。
require_once()
和include_once()
语句将php文件包含在另一个中。如果发现文件已被包含,则调用脚本将忽略进一步的包含。