快速提问。所以我需要做的是用我的表中的行填充我的html droplist。我可以为一个html droplist这样做,但是当我用另一个html droplist执行此操作时,它就成了一个问题。你不能两次使用mysql_fetch_array。有什么建议?
以下是我参考的示例代码。
query = mysql_query("YOUR QUERY HERE"); // Run your query
echo '<select name="DROP DOWN NAME">'; // Open your drop down box
// Loop through the query results, outputing the options one by one
while ($row = mysql_fetch_array($query)) {
echo '<option value="'.$row['something'].'">'.$row['something'].'</option>';
}
echo '</select>';// Close your drop down box
答案 0 :(得分:0)
选项1: 使用以下代码。请阅读此document
while($row = mysql_fetch_array($query)){
// Your code..
}
// add this line
mysql_data_seek($query, 0);
while($row = mysql_fetch_array($query)){
// Your code..
}
mysql_data_seek()将与指定结果标识符关联的MySQL结果的内部行指针移动到指向指定的行号。
选项2:
您可以将mysql_fetch_array($query)
存储在一个阵列中并重复使用。
$sample_array = mysql_fetch_array($query);
while($row = $sample_array){
// Your code..
}
while($row = $sample_array){
// Your code..
}
答案 1 :(得分:0)
从我这边简单的解决方案,编写一个将采用两个数组并填充Dropdown的方法。
function populateDropDown($values,$displayArray, $nameDropdon){
echo "<select name='$nameDropdon'>"; // Open your drop down box
// Loop through the query results, outputing the options one by one
for($i=0;i<count($values);$i++)
echo '<option value="'.$values[$i].'">'.$displayArray[$i].'</option>';
echo '</select>';
}
答案 2 :(得分:0)
请勿使用已弃用的函数,请尝试使用MySQLi或PDO。如果需要从数据库中调用返回元素,只需创建一个数组来存储它,并根据需要多次使用foreach。
$query = mysql_query("YOUR QUERY HERE") or die(mysql_error());
$items = array();
while ($row = mysql_fetch_array($query)) {
$items[] = $row;
}
echo '<select name="DROP DOWN NAME">';
foreach($items as $item){
printf('<option value="%d">%s</option>', $item['id'], $item['description']);
}
echo '</select>';