我想将 MySQL 数据库中的详细信息写入复选框。复选框结构应该看起来像 6*6 的正方形。 (一行 6 个,一列 6 个)。
MySQL 数据库看起来像:
|id|package|
|1 |HEI |
|2 |TAG |
|...|
我写了这个函数(在 php 中)
function getPackages3()
{
$con = openLockMySQLdb('labcom', 'packages', 'READ');
$q = mysql_query("SELECT id, package FROM packages ORDER BY package ASC", $con);
while($row = mysqli_fetch_array($q)) {
$packages .= '<ul>' . '<li>' . '<label>' . '<input type="checkbox" class="packages_2" id="tab_packages" name="' . $row['package'] . '" value="' . $row['id'] . '-' . $row['package'] . '">' . '<p class="checkbox_label">' . $row['package'] . '</p>' . '</label>' . '</ul>' . '</li>';
}
closeUnlockMySQLdb($con);
return $packages;
}
要进入复选框,它可以工作,但我只能一行 6 个、一列 6 个。所以我不能用复选框制作一个正方形。
最佳答案
我想你的数据库表包含 6 * 6 = 36 个包条目,对吧?那么唯一的问题是在每 6 个条目之后有一种“换行”。
在这种情况下我更喜欢 CSS 解决方案并使用 nth-of-type()
选择器。但你需要移动<ul>
标记出循环:
function getPackages3()
{
$con = openLockMySQLdb('labcom', 'packages', 'READ');
$q = mysql_query("SELECT id, package FROM packages ORDER BY package ASC", $con);
$packages = '<ul>';
while($row = mysqli_fetch_array($q)) {
$packages .= '<li>' . '<label>' . '<input type="checkbox" class="packages_2" id="tab_packages" name="' . $row['package'] . '" value="' . $row['id'] . '-' . $row['package'] . '">' . '<p class="checkbox_label">' . $row['package'] . '</p>' . '</label></li>';
}
$packages .= '</ul>';
closeUnlockMySQLdb($con);
return $packages;
}
CSS 将是这样的:
li {
float: left;
}
li:nth-of-type(6n) {
clear: left;
}
我保留了对数据库函数的调用,即使它们使用混合库(请参阅@jeff 的评论),因为这是一个不同的问题,但要使其正常工作,您也必须解决此问题。
关于php - 从 mysql 表创建复选框(表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37995177/