0

コードを見つけるためにグーグルを検索してきましたが、見つかりません。私がやりたいことは非常に単純ですが、私はPHPの専門家ではありません。

送信ボタンを1回押すだけで複数の都市の名前を挿入したい(可能な場合)

'cities'と'states'の2つのテーブルを含むデータベースを作成し、statesテーブルにデータを入力しました

したがって、2つのフィールドまたはボックスが必要です。1つは状態用で、データベースから取得した、状態名が既に入力されているドロップダウンの「選択」ボックスです。

もう1つは、テキストタイプフィールド(type = "text")である都市フィールドです。

複数の都市名を入力できるようにしたいのですが、おそらく'、'で区切ってコンマを入力し、送信ボタンを1回押すだけで、すべての値がmysql都市テーブルに挿入されて次の状態に進みます。

ある種のループを作成する必要があることはわかっていますが、その方法がわかりません。

4

2 に答える 2

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 に答える
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>

* save.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 に答える