【问题标题】:Dynamic Checkbox in php/htmlphp/html 中的动态复选框
【发布时间】:2013-09-28 17:00:27
【问题描述】:

我编写这些代码行是为了创建我的动态(从数据库中获取数据)复选框。

**<?php 

   db_connect();

   $sql = mysql_query('SELECT title  FROM products WHERE cname LIKE "Coffee"') or die(mysql_error());     

   while($row = mysql_fetch_array($sql, MYSQL_BOTH)){
       echo "<input type='checkbox' name='products[]' value='".$row['title']."'>"
        .$row['title'];
   }

?>**

问题是结果在我的网页中出现在同一行,但我希望它们以列表的形式出现,以便创建我自助餐厅的订单列表/菜单。 我该如何纠正这个问题?

【问题讨论】:

    标签: php html mysql dynamic checkbox


    【解决方案1】:
    <?php 
    
       db_connect();
    
       $sql = mysql_query('SELECT title  FROM products WHERE cname LIKE "Coffee"') or die(mysql_error());     
    
       while($row = mysql_fetch_array($sql, MYSQL_BOTH)){
           echo "<input type='checkbox' name='products[]' value='".$row['title']."'>"
            .$row['title']."<br/>";
       }
    
    ?>
    

    【讨论】:

      【解决方案2】:

      您可以将它们放入无序列表 (UL):

      <ul>
      <?php 
      db_connect();
      
      $sql = mysql_query('SELECT title  FROM products WHERE cname LIKE "Coffee"') or die(mysql_error());
      
      while($row = mysql_fetch_array($sql, MYSQL_BOTH)){
      echo "<li><input type='checkbox' name='products[]' value='".$row['title']."'>"
          .$row['title']."</li>";}
      
      ?>
      </ul>
      

      【讨论】:

        【解决方案3】:

        嗯,最简单的解决方案是在每一行之后添加换行符 (&lt;br /&gt;)。

        您也可以使用桌子。例如,类似:

        <?php 
            echo '<table>';
            while($row = mysql_fetch_array($sql, MYSQL_BOTH)){
                echo "<tr><td>";
                echo "<input type='checkbox' name='products[]' value='".$row['title']."'>";
                echo $row['title'];
                echho "</td></tr>";
           }
           echo '</table>'
        ?>
        

        但有更好的选择,涉及 divs 和 CSS。

        【讨论】:

          【解决方案4】:

          变化:

          while($row = mysql_fetch_array($sql, MYSQL_BOTH)){
              echo "<input type='checkbox' name='products[]' value='".$row['title']."'>"
               .$row['title'];
          }
          

          echo "<ul>\n":
          while($row = mysql_fetch_array($sql, MYSQL_BOTH)){
              echo "<li><input type='checkbox' name='products[]' value='".$row['title']."'>"
               .$row['title']."</li>";
          }
          echo "</ul>\n":
          

          【讨论】:

          • 这里也一样!它只是从左向右转移。
          • 只有当你有 CSS 导致它以这种方式呈现时,它才会内联显示,
          【解决方案5】:

          试试这个:

          <?php
          db_connect();
          $sql = mysql_query('SELECT title  FROM products WHERE cname LIKE "Coffee"') or     die(mysql_error());
          echo "<ul>";
          while($row = mysql_fetch_array($sql, MYSQL_BOTH)){
          
          echo "<li> <input type='checkbox' name='products[]' value='".$row['title']."'></li>"
              .$row['title'];}//end while
          
          echo"</ul>";
          

          【讨论】:

          • 我试过了,但它只改变了页面从左到右的对齐方式,但我所有的条目仍然在同一行。
          • 很抱歉,这里有改动:D
          • 谢谢,但我们仍然有问题! ://
          • 问题已解决,朋友们!我刚刚添加了 "echo "
            ";"在我的 while 循环中。很抱歉这个评论,但我还不能回答我自己的问题!非常感谢您的建议! :D
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多