php - 新表列,用于每个 echo'd 复选框(php、mysql)

标签 php mysql echo html-table implode

我正在使用下面的脚本,通过使用 explode/implode,根据我的 mySQL 表中的内容显示复选框。然后,它会根据我表格中的位置字段包含的内容(例如,贵宾区、高架区、花园区)回显选中的复选框或未选中的复选框。

<?


$aColors = array("Upstairs Function Room", "Whole Raised Area", "VIP Area", "Piano Area", "DJ Table" , "Canopy area" , "Garden Area", "Whole Bar", "Back Bar Tables" , "Raised Area Table 1", "Raised Area Table 2", "Raised Area Table 3", "Raised Area Table 4", "Raised Area Table 5", "Raised Area Table 6");

//converting comma separated into array using explode function
$dbcolors= explode(',',$row['location']);

foreach ($aColors as $locations) {

    if(in_array($locations,$dbcolors)) {
        echo "<input name=\"locations[]\" type=\"checkbox\" value=\"$locations\" CHECKED> $locations <br> ";
    } else
    {
        echo "<input name=\"locations[]\" type=\"checkbox\" value=\"$locations\"> $locations <br>";
    }
}
?>

这很好用,但我只能让它回显一长串复选框...我想要的是将它显示在表格中,并说每显示 5 个复选框就创建一个新列(实际上我应该最终得到大约 3 列),但我对如何实现这一目标感到困惑......非常感谢任何帮助。

罗布

最佳答案

简单的方法是计数器 $i你用 $i = 0 初始化的外面foreach并用 $i++ 增加它在foreach里面,然后每次$i % 5 == 0是真的你开始一个新的专栏(echo '</td><td>')。

如果您有额外的样式,使用 array_chunk() 拆分数组可能会更容易像这样:foreach (array_chunk($aColors, 5) as $block) { }并使用 $block[0] 访问它们, $block[1] ... $block[4]foreach里面.

关于php - 新表列,用于每个 echo'd 复选框(php、mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481179/

相关文章:

php - str_get_html 未加载有效的 html 字符串

linux - 如何从现有脚本创建 shell 脚本?

php - 使用 .htaccess 强制某些页面在 SSL 站点上使用非 SSL

php - 刷新 OAuth2 token 时出错,消息 : '{ "error": "unauthorized_client", "error_description": "Unauthorized client or scope in request."}'

mysql - 如何将另一个表中描述的期间的每个日期的行插入表中?

MYSQL 用连接表中的值填充行空白 - 随机空格

Bash 脚本 "concatenate"多行变量

linux - 从重定向到文件中逃脱 echo 输出

php - 将 LIKE '%{$var}%' 与准备好的语句一起使用的正确方法?

php - 使用 PHP 将类中的数据插入数据库