基本的に、ユーザーはフォームに入力して製品を入力し、そのユーザーのチェックボックスをオンにして、この製品がユーザーにとって「具体的に」あることを示します。
製品名:foo
特定のユーザー:
- ボブ
- 明細書
- ベン
- ロブ
したがって、ユーザーは1人以上のユーザーを「チェック」して製品をリンクすることができます。
データベーステーブルを設定しました。
ユーザー| userID | 名前|
製品| productID | 名前|
リンクテーブル| linkID | productID | userID |
ユーザーが「Bill」と「Ben」をチェックして「Submit」をクリックすると、製品が製品テーブルに追加され、新しいproductIDが返され、INSERTスクリプトでループが発生してチェックされた各ユーザーのproductIDとuserIDを含むLINKTABLEへの新しいレコード。
これまで、製品の詳細を挿入してproductIDを返す方法について説明しましたが、productIDとuserIDをリンクテーブルに挿入するループに苦労しています。
$product = $_POST["product"];
$sql = "INSERT INTO products ('name') VALUES ($product);
$result = mysql_query($sql);
$newProductID = mysql_insert_id();
私はこれを試しました:
if(!empty($_POST['users'])) {
foreach($_POST['users'] as $userID)
{
$sql = "INSERT INTO linktable (productID, userID) VALUES (".$newProductID.", ".$userID.")";
$result = mysql_query($sql) or die(mysql_error()."<br />".$sql);
}
しかし、それは次のエラーを投げました:
警告:...のforeach()に無効な引数が指定されました。
'foreaach'ループの行。
どんな助けでも素晴らしいでしょう。ありがとう!