1

我想将数据从数据库加载到复选框列表以显示和选择,这是我的代码。但它不起作用,所以任何人都可以为我更正此代码吗?

当我执行此操作时,我收到错误消息“解析错误:语法错误,第 70 行 C:\xampp\htdocs\test.php 中的意外 $end”

<?php   
    $section = mysql_query("SELECT DISTINCT Section_Text FROM Section");

    while ($row = mysql_fetch_array($section)){
   {
    echo "<tr><td>";
    echo "<input type='checkbox' name='Section' value ='Section_Text'";
    echo " />";
    echo $row['Section_Text'];

    echo "</td></tr><br/>";
   }

?>
4

4 回答 4

1

在你的 while 循环之后你有{太多的权利。删除其中一个,代码将起作用。

除此之外,您应该真正使用 PDO(或 mysqli)而不是弃用的mysql扩展来访问您的数据库。

于 2012-07-10T21:25:51.767 回答
1

在 while 循环中:

while ($row = mysql_fetch_array($section)){
   {

为什么有两个{?删除其中之一。

于 2012-07-10T21:31:11.357 回答
1

{在 while 声明后删除双精度。

我建议你稍微重构一下你的代码。

  • 使用转义输出htmlentities($row['Section_Text'])
  • 不要使用位置$printf 表示法重复自己
  • 使用<label ... />符号使您的表单易于访问:检查此

    <?php   
    $section = mysql_query("SELECT DISTINCT Section_Text FROM Section");
    
    $n = 0;
    while ($row = mysql_fetch_array($section))
    {
        print "<tr><td>" . PHP_EOL;
        printf('<input type="checkbox" name="section_%2$d" id="section_%2$d" value="%1$s" />
             <label for="section_%2$d">%1$s</label>' . PHP_EOL,
              htmlentities($row['Section_Text'], ENT_QUOTES), $n++
        );
        print "</td></tr>" . PHP_EOL;
    }
    
于 2012-07-10T21:51:33.173 回答
0

有 2 个 { 在此期间,删除一个。并摆脱
标签,使用 css 获得所需的填充

于 2012-07-10T21:34:36.443 回答