数据库
首页 > 数据库> > 使用PHP在MySQL数据库中存储多个复选框数据

使用PHP在MySQL数据库中存储多个复选框数据

作者:互联网

我想将多个复选框值存储到数据库中的一个字段中. (例如,1,26,56,100).我想知道如何实现这一点,如果我想在查询中调用变量,PHP如何从数据库中读取这些值?

基本上我正在创建一个博客应用程序(为了娱乐和体验),我希望用户能够通过复选框更改每篇博文的可见性.我知道你可能在想为什么我不为每篇博文都提供可见性字段.我理解为什么不建议这样做,但我想不出任何其他方法来做到这一点.为了解释一下:我想将这个应用程序附加到我已经构建的CMS上,基本上我有一个包含博客文章的表,然后我希望用户能够访问其站点中的不同页面并添加一个博客.那么,如果用户想要在3个不同的页面上使用相同的博客,但只希望在每个页面上显示某些帖子,该怎么办?所以这就是我现在感到困惑的原因.

解决方法:

虽然我不赞成保存这样的数据但是你可以做的就是你能做到的,如果你真的想这样做的话.我建议你有一个非规范化的表,并存储你的vals

在您的HTML中,您可以拥有这样的复选框(考虑到您正在存储某种类型的ID)

<input type="checkbox" name="ids[]" value"1" />
<input type="checkbox" name="ids[]" value"24" />
<input type="checkbox" name="ids[]" value"56" />
<input type="checkbox" name="ids[]" value"100" />

在你的php端你可以使用函数implode将id形成一个字符串,如下所示(考虑到你正在进行POST)

$ids = implode(",",$_POST["ids"]);

从数据库读取的位置,您可以将值从db转换为这样的数组

$ids_array = explode(",",$row->ids);

我希望这有帮助

标签:php,mysql,denormalized
来源: https://codeday.me/bug/20190714/1455834.html