0

私のmySQLデータベースに複数の値を挿入しようとしていますが、これは私がこれまでに得たものです。

if (in_array(",", $_POST['categories'])) { /* Other was selected */}
        $cat = implode(" ,", $_POST['categories']);
        if (in_array(",", $_POST['subcat'])) { /* Other was selected */}
        $sub = implode(" ,", $_POST['subcat']);
        if (in_array(",", $_POST['type'])) { /* Other was selected */}
        $type = implode(" ,", $_POST['type']);
        if (in_array(",", $_POST['payment'])) { /* Other was selected */}
        $payment = implode(" ,", $_POST['payment']);

        $sql = "INSERT INTO tbl_locations SET

                name='".$_POST['name']."', 
                alias='".$_POST['alias']."',
                category_id='$cat',
                subcategory_id='$sub',
                tourism_type_id='$type',
                lgu_id='$payment',
                latitude='".$_POST['latbox']."', 
                longitude='".$_POST['lngbox']."'
            ";
        $qry= mysql_query($sql) or die (mysql_error());
        if ($qry)
        {   
            header("location:addsuccess.php");
            exit();
        }

ご覧のとおり、複数のエントリは 1 つだけではなく、4 つです。. これを進める方法について感謝します。.. また、私のフォームはすべて、フォームname=name[]に問題はありません。複数ではなく、単一の値をデータベースに挿入するだけです。

4

1 に答える 1

0

アプリケーションの問題は、データベースの設計です。複数のカテゴリ、タイプ、支払いなどを持つことができる場合は、これを処理できるリレーショナル モデルが必要です。これを行う 1 つの方法は、リクエストを処理する 1 つのテーブルを作成し、次に各リクエストのカテゴリ、タイプ、支払いなどの子テーブルを作成することです。

> リクエスト表

ID日付
1 2012-01-25

> カテゴリー表

request_id カテゴリ
1 1
1 2

等々。

于 2013-01-26T05:08:18.317 に答える