0

我一直在搜索谷歌以找到代码,但我找不到它。我想做的很简单,但我不是 php 专家。

我想在一次按下提交按钮时插入多个城市的名称(如果可能的话)

我创建了一个包含 2 个表的数据库:“城市”和“州”,并且填充了 states 表

所以我需要两个字段或框,一个用于状态,它是下拉“选择”框,已经填充了状态名称,从数据库中提取,

另一个是文本类型字段(type="text")的城市字段。

我希望能够输入多个城市名称,可能用“,”逗号分隔,并且只需按一下提交按钮,所有值都将插入 mysql 城市表并进入下一个状态。

我知道我需要创建某种循环,但我不知道该怎么做。

4

2 回答 2

0

*index.php (html):

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

<?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());

              }

}

?>

于 2012-07-25T01:53:54.403 回答
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']."');

}

并做了。

于 2012-07-25T01:25:34.540 回答