【问题标题】:how to build PHP/MySQL query to input data from a series of checkboxes如何构建 PHP/MySQL 查询以从一系列复选框中输入数据
【发布时间】:2011-02-16 18:23:17
【问题描述】:

我正在制作一个网站,展示一个大城市的夜总会狂欢者活动和夜间场所。

用户在网站上添加他们的事件时应该能够添加某些详细信息,例如(在事件表中)event_id, event_name, event_description, event_date, event_photo_url 等。

我希望用户能够根据兴趣搜索或查找某些活动或场所。我有一个如下所示的兴趣表。

interest_id,兴趣名称
1、射击池
2、卡拉OK
3、休息室
4、现场乐队
5、跳舞
6、看体育

所以我的表单上有 6 个复选框。用户可以选择无、1、2 或全部 6。

我是否应该让每个复选框向我的提交表单提交单独的值,即

input name="dancing" type="checkbox" value="5" 
input name="watch_sports" type="checkbox" value="6"

或者我应该建立一个数组

input name="interest[]" type="checkbox" value="5" 
input name="interest[]" type="checkbox" value="6" 

我有一个表格可以将事件与兴趣联系起来,即;

event_interest table  
event_interest_id            
event_id              
interest_id 

我以前从未实现过一系列复选框。有谁知道如何捕获用户输入并将值存储在我的数据库中?

【问题讨论】:

  • 到目前为止,您有任何代码吗?如果是这样,请在此处为我们发布。你也应该去接受你以前的问题的一些答案..
  • @jnpcl。不幸的是,到目前为止还没有代码。
  • 基本上,如果复选框用于类似的事情,请使用它们的数组。如果不是,则不要:-) 另外,如果您要序列化(为美国人序列化;-))复选框数据,则使用复选框数组要容易得多。另外,以防万一您不知道,您可以通过键引用复选框数组,如下所示:<input type="checkbox" name="boxArray[name]"> 如果您已经知道,我很抱歉侮辱您的智慧。
  • 没问题!我的目标是取悦... ;-)

标签: php mysql


【解决方案1】:

您将获得 POST 或 GET 那些被选中的复选框值。

所以你可以这样做:

$interests = $_POST['interests'];
$event_id = intval($_POST['event_id']);//or where ever you get that from
foreach($interests as $interest){
    ....
    $interest = intval($interest);
    $query = "INSERT INTO event_interests  SET interest_id = $interest, event_id = $event_id";
    .... //send query to db
}

【讨论】:

  • 感谢您的回复。所以我应该为此使用数组方法。这很有帮助,谢谢。
猜你喜欢
  • 2011-06-10
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 2023-04-05
  • 2014-11-04
  • 2012-08-30
  • 2020-04-08
  • 2023-03-05
相关资源
最近更新 更多