我遇到一个简单的问题。我用Google搜索并找到了这么多资源,但在我看来没什么用处。
这里我运行了一个查询并将其作为选择菜单输出。但是第一行的值没有显示出来。
<?php
$query = mysql_query("SELECT * FROM `subcategory` ORDER BY `Category_id`");
while($row = mysql_fetch_array($query)){
$subcategory_title = $row['Subcategory_name'];
$subcategory_id = $row['Subcategory_id'];
$subcategory_id = $subcategory_id*10;
$selectMenu .= "<option value='$subcategory_id'>$subcategory_title</option>";
}
?>
并且输出在
中<select name='' class=''>
<option disabled='disabled'>Choose a Topic</option>
<?php echo $selectMenu; ?>
</select>
我回复了$subcategory_title
和$subcategory_id
,这里的第一行值显示在列表菜单中是否不是。另一个脚本中的相同代码工作正常。我不明白。问题是什么?
答案 0 :(得分:0)
代码链接:http://pastebin.com/iGqitNe7
试试这个......
<?php
$qidInfo = "<tr>
<td width='20%'>Exam Topic:</td>
<td width='80%'><label>
<select class='exam_name' name='exam_name' id='exam_name'>
<option disabled='disabled'>Choose a Topic</option>".$selectMenu."
</select>...rest of the string...";
?>
答案 1 :(得分:0)
为什么不这样用PDO RIGHT
方式呢? :(可能有一些语法错误未经测试btw)
$sql = "SELECT * FROM `subcategory` ORDER BY `Category_id`";
$query = $pdo->prepare($sql);
$query->execute();
if($query) {
$row = $query->fetchAll(PDO::FETCH_ASSOC);
$selectmenu = "";
foreach ($row as $value) {
$selectMenu .= "<option value=<?php echo $value['subcategory_id']*10 ?>><?php echo $value['subcategory_title'] ?></option>";
}
}
这是未经测试的代码,但我认为这应该有效。祝你有任何担忧,祝你好运。
有关设置PDO的帮助,请参阅this answer.您在问自己为什么要使用PDO?正如上面的评论所述,新代码应该不惜一切代价避免使用Mysql_函数,因为它们被PHP社区查看,并将从php 5.5中删除。
阅读有关PHP PDO here
的更多信息