我一直在搜索谷歌找到代码,但我找不到它。我想做的很简单,但我不是php专家。
我想在一次按下提交按钮时插入多个城市的名字(如果可能的话)
我创建了一个包含2个表的数据库:'cities'和'states' 我填写了状态表
所以我需要两个字段或框,一个用于状态,这是下拉“选择”框,已填充状态名称,从数据库中提取,
另一个是城市字段,其中包含文本类型字段(type =“text”)。
我希望能够键入多个城市名称,可能用','逗号分隔, 只需按一下提交按钮,所有值都将被插入到mysql cities表中并继续进入下一个状态。
我知道我需要创建某种循环,但我不知道该怎么做。
答案 0 :(得分:0)
首先,您可以使用以下格式创建输入:
<input type="text" name="cities"/>
然后你输入:纽约,新泽西,旧金山,丹佛等等。
然后在接收数据的.php文件上(我猜它是一个$ _POST变量),所以$ _POST ['cities']然后,你拆分它并循环:
// split the values by comma
$_POST['cities'] = explode(',',$_POST['cities']);
// loop the values
foreach($_POST['cities'] as $city) {
// trim (delete white space at the end and start for safety)
$city = trim($city);
mysql_query("insert into `cities` ('city','state') values ('".$city.','".$_POST['state']."');
}
完成了。
答案 1 :(得分:0)
<html>
<body>
<form action="save.php" method="POST">
<input type="text" name ="cities" value="">
<input type="text" name ="state" value="">
<input type="submit">
</form>
</body>
<?php
/* -------include you db connection here ----*/
if(isset($_POST['çities']) && $_POST['çities'] !='' && isset($_POST['state']) && $_POST['state'] !=''){
$cities = explode (',', $_POST['çities']);
$n = count($cities);
for($i=0;$i<$n;$i++){
//Insert data
mysql_query("insert into `cities` (city,state) values ('".$cities[$i]."','".$_POST['state']."') or die(mysql_error());
}
}
&GT;