gpt4 book ai didi

php - 查询多选框

转载 作者:行者123 更新时间:2023-11-29 14:02:36 26 4
gpt4 key购买 nike

我很好奇,当您不确切知道用​​户可以选择多少个选项时,如何将所选项目插入数据库。

假设我有以下代码:

<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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com