作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很好奇,当您不确切知道用户可以选择多少个选项时,如何将所选项目插入数据库。
假设我有以下代码:
<select name="foo[]" multiple="multiple">
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="fish">Fish</option>
</select>
<?php
$pets = $_POST['foo'];
$query = mysql_query("INSERT INTO `pets` (`pet1`, `pet2`, `pet3`) VALUES ('".$pets[0]."', '".$pets[1]."', '".$pets[2]."')");
?>
用户仅选择选项“狗”,或“狗”和“猫”,或“猫”和“狗”等。基本上是三者的任意组合。
我是否必须对查询进行硬编码以接受所有可能的选项,然后指定一个 WHERE 子句“WHERE $pets != ''
”或类似内容?
如果有任何帮助,我将不胜感激。
最佳答案
首先,不要使用 mysql_* 函数,因为它们已弃用
如果您需要将它们插入多行,您可以简单地使用这样的循环
foreach($pets as $pet)
{
Insert to db each single pet in different row
}
如果你想将它们插入到同一行,你可以使用
$toInsert = implode(',',$pets);
如果你有n列,我认为你不能使用第二个选项和宠物数量的内爆函数
$petsColumns = array();
for($i = 1; $i <= count($pets); $i++)
$petsColumns[] = "pet".$i ;
$petsColumnsString = implode(',',$petsColumns);
并将它们连接到查询
如果希望这对您想做的事情有所帮助
关于php - 查询多选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839985/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!