使用MySQL datebase中的记录作为值创建复选框列表

时间:2016-04-14 08:27:03

标签: php mysql sql mysqli

我之前已经问过这个问题,但没有人能找到解决方案,所以我再次询问更新的代码,看看是否有其他人可以帮助我。

正如标题所示,我正在尝试在我的网站中创建复选框。但是,值将来自mysql数据库。我无法弄清楚我的错误在哪里,因为我的PHP代码不会执行。

我有一个名为"我的电脑",名为campus的表格,它有2列idroom

以下是我的数据库的屏幕截图以及网络浏览器中代码的输出:

enter image description here

enter image description here

<?PHP

$hostname = "localhost";
$username = "root";
$password = "root";
$databaseName = "my computer";

$connect = mysqli_connect($hostname, $username, $password, $databaseName);

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

?>

<html>  
<body>

<form name="aform">

Choose a room:

    <?php

    $sql = "SELECT * FROM `campus`";
    $result = mysqli_query($sql);
    mysqli_query($connect, $sql);

    while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

    ?>

    <input type="checkbox" name="car" value="<?php echo $line['room'];?>" />

    <?php   
    }
    ?>

</form>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

我查看你的代码并认为“选择一个房间”之后的php块可以像这样改进:

<?php
  $s = '';
  $j = 0;
  if ($q = $dbCon->query("SELECT * FROM `campus`")) {
    while ($line = $q->fetch_assoc()) {
      $s.= '<input type="checkbox" name="car'.$j.'" value="'.$line['room'].'">';
    }
  }
  echo $s;
?>

$j变量是为了避免所有输入具有相同的名称。