現在、次のようなニュースレターを購読および購読解除できるフォームがあります。
下部 (サブスクリプション部分) のコードは次のとおりです。
<?php
$i = 0;
while($objResult1 = mysql_fetch_array($objQuery1))
{
$i++;
?>
<tr>
<td><div align="center"><?=$objResult1["ID"];?><input type="hidden" name="mailid" value="<?=$objResult1["ID"];?>"> </div></td>
<td><div align="center"><?=$objResult1["Titel"];?> </div></td>
<td><div align="center"><input type="checkbox" name="sub" value="10"> </div></td>
<td><div align="center"><input type="checkbox" name="sub" value="90"> </div></td>
</tr>
<?php
}
?>
データベースに値を挿入するコードは次のとおりです。
<?php
mysql_connect('localhost','root','root');
mysql_select_db('NAW') or die (mysql_error());
$Klant_ID = $_POST['klantid'];
$Mail_ID = $_POST['mailid'];
$Status = $_POST['sub'];
$Datum = date("d-m-Y");
$sql = mysql_query(
"INSERT INTO Subscriptions (
Klant_ID,
Mail_ID,
Status,
Datum
) VALUES (
'".$Klant_ID."',
'".$Mail_ID."',
'".$Status."',
'".$Datum."'
)"
);
if ($sql === false) {
die (mysql_error());
} else {
echo 'Je gegevens zijn succesvol in de database geplaatst.<br><br>Om de gegevens uit de database te bekijken klik <A HREF="klanten.php">hier</A>. <br>Om meer gegevens in te voeren klik <A HREF="index.html">hier</A>.';
}
?>
データベースは次のとおりです。
ID Klant_ID Mail_ID Status Datum
1 6 1 test
2 6 1 test test
3 10 10 10 19-03-13
16 6 4 90 20-03-2013
17 6 4 10 20-03-2013
18 7 4 90 20-03-2013
これで、チェックボックスをオンにしたデータベースに 1 行だけ追加されます。たとえば、データベースに3行を追加するように動作させたいと思います。たとえば、次のようにボックスを選択すると:
これらの行をデータベースに追加したい:
ID Klant_ID Mail_ID Status Datum
20 6 1 10 20-03-2013
21 6 2 90 20-03-2013
22 6 4 10 20-03-2013
私の質問は、mysql_fetch_array で while ループを使用してこれが可能かどうかです。私はまだ学生であり、この問題を自分で解決することはできません。私の質問が十分に明確であることを願っていますが、質問がある場合はコメントで質問してください^^ 誰かがそれがどのように行われたかを示したり、正しい方向に私を押したりできれば、それは素晴らしいことです!
(もう mysql_* を使うべきではないことはわかっていますが、それはここでのポイントではありません^^)