php - 从 mysql 表创建复选框(表)

标签 php mysql checkbox

我想将 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/

相关文章:

php - 在 codeigniter 中使用 mpdf 为 foreach() 提供的参数无效

PHP:浏览器返回一个页面

java - Hibernate:批量和非批量插入生成相同数量的 SQL 查询

javascript - 复选框默认选中 ="checked"不起作用?

php - $wpdb 查询从匹配特定 ID 的列中对 SQL 小数求和

php - 如何在PHP中实现汇率?

php - MYSQL/PHP/xHTTP - ERR_EMPTY_RESPONSE

php - PHP/MySQLi 中的多个 SQL 对象

grails - Grails-传递选定的复选框

android - 从 Android 的复选框中删除 'box'