gpt4 book ai didi

php - 多个下拉值插入单行而不是多行

转载 作者:行者123 更新时间:2023-11-29 04:46:34 25 4
gpt4 key购买 nike

在这段代码中,当我从下拉列表中选择多个值时,它存储在一行中,但我喜欢在每一行中应用值,所以请任何人帮助我。实际结果:

id    game
1. cricket,football,tennis

期望结果:

id         game
1 cricket
2 football

代码-

                <html>
<body>
<?php
if(isset($_POST['submit']))
{
$query=mysql_connect('localhost','root','');
mysql_select_db("freeze",$query);
$choice=$_POST['game'];
$choice1=implode(',',$choice);
mysql_query("insert into tb values('','$choice1')");
}
?>
<form method="post" action="multipleselect.php">
Select your favourite game:<br/>
<select name="game[]" multiple="multiple">
<option>Football</option>
<option>Volleyball</option>
<option>Badminton</option>
<option>Cricket</option>
<option>Cricket1</option>
<option>Cricket2</option>
<option>Cricket3</option>
<option>Cricket34</option>
</select>
<input type="submit" name="submit">
</form>
</body>
</html>

最佳答案

首先,请不要使用mysql_*因为它已被弃用,请使用 mysqli_PDO相反。

现在如果你只想要选项的值那么就这样做

<select name="game[]" multiple="multiple">
<option value="1">Football</option>
<option value="2">Volleyball</option>
...
</select>

这样它会给你 1,2,.... .希望这就是您要找的。

如果您正在寻找这样的查询

INSERT INTO tb (`game`) VALUES ('Football'),('Volleyball')

假设id字段自增,则修改代码如下:
html代码

<select name="game[]" multiple="multiple">
<option>Football</option>
<option>Volleyball</option>
...
</select>

php代码

$choice=$_POST['game'];   
$sql = "INSERT INTO tb (`game`) VALUES ";
$sqlValues= null;
foreach($choice as $ch) {
$sqlValues .= "('$ch')," ;
}
$sql.=rtrim($sqlValues, ",");
echo $sql;

这样你可以得到

id         game
1 cricket
2 football

关于php - 多个下拉值插入单行而不是多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18158798/

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