-1

我遇到了一个简单的问题。我用谷歌搜索并发现了很多资源,但在我看来没有任何用处。

在这里,我运行了一个查询并将其作为选择菜单输出。但是值的第一行没有显示出来。

<?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_titleand $subcategory_id,这里第一行值显示是否在列表菜单中。另一个脚本中的相同代码可以正常工作。我不明白。问题是什么?

4

2 回答 2

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...";
?>
于 2013-04-19T03:30:44.063 回答
0

为什么不像RIGHTPDO 那样做呢?: (可能有一些未经测试的语法错误)

$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 的帮助,请参阅此答案。你问自己为什么要使用 PDO?正如上面评论中所说的那样,对于新代码,应该不惜一切代价避免使用 Mysql_ 函数,因为它们被 PHP 社区看不起,并且从 php 5.5 开始将被删除。

在此处阅读有关 PHP PDO的更多信息

于 2013-04-19T03:40:55.860 回答