【问题标题】:Create a list of check box by using the records from MySQL datebase as values [duplicate]通过使用 MySQL 数据库中的记录作为值来创建复选框列表 [重复]
【发布时间】:2016-08-05 16:20:25
【问题描述】:

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

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

我有一个名为“我的电脑”的数据库,表名为campus,它有两列idroom

下面是我的数据库截图和网页浏览器中的代码输出:

<?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>

【问题讨论】:

  • 不要再次发布您的问题,请编辑它并包含更新的详细信息/信息
  • 嗨...会的,对不起

标签: php mysql sql mysqli


【解决方案1】:

我看了你的代码,认为“选择房间”之后的 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 变量是为了避免所有输入具有相同的名称。

【讨论】:

  • 嗨,谢谢您的代码有效!.. 但是我将如何在每个复选框的旁边添加一个名称。例如:我在数据库中的表中有 2 个值,因此输出了 2 个复选框,但是它们的侧面没有任何名称标签来区分哪个值是哪个?
  • 关闭标签输入后,添加来自数据库的名称:{ my_name }
  • 嗨,但这会使所有复选框的名称都相同吗?我想单独命名它们
  • 当然要从数据库中取名字,所以试试用"$line['name']"代替"my_name"(假设调用数据库中表的列“名称”)
  • 我可以使用名为“房间”的同一列来命名并创建复选框,还是必须创建另一个来命名复选框?
猜你喜欢
  • 1970-01-01
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
  • 2016-07-21
相关资源
最近更新 更多