2
以下は私のコードです。私は2つのMySQLデータベーステーブルを持っています.1つは「メンバー」で、もう1つは「参加者」です。テーブル "member"のデータをローカルホストページに表示したいと思います。ただし、データベーステーブルの「参加者」にチェックボックスを使用することで、複数の行の「メンバー」データを挿入することはできません。ハマった。どんな助けも大歓迎です。MySQLに複数の行を挿入するチェックボックス
<?php
try {
$con = new PDO("mysql:host=localhost;dbname=kgruum member", "root", "");
$sql = $con->query("SELECT * FROM member");
echo "<table class='info' align='center' border='1'>";
echo "<tr><td width='10'></td>
<td width='10'><b>ID</b></td>
<td width='500'><b>Name</b></td>
<td width='50'><b>Handicap</b></td><tr>";
foreach($sql as $row) {
$ID = $row["ID"];
$Name = $row["Name"];
$Handicap = $row["Handicap"];
echo "<tr>
<td><form method='POST' action='Add participant.php'><input type='checkbox' name='insert[]' value='$ID'></td>
<td>$ID</td>
<td>$Name</td>
<td>$Handicap</td><tr>";
}
echo"</table><div align='center'><input type='image' value='submit' src='add selected button.png' alt='submit Button' onmouseover='this.src='pink add selected button.png'' onmouseout='this.src='add selected button.png'' name='add_btn' id='add_btn'></div><br></form>";
if(isset($_POST['add_btn'])) {
if(!empty($_POST['insert'])) {
foreach($_POST['insert'] as $check) {
$st=$con->prepare("INSERT INTO participants(ID,Name,Handicap) VALUES('$ID','$Name','$Handicap')");
$insert->bindParam('ID',$ID);
$insert->bindParam('Name',$Name);
$insert->bindParam('Handicap',$Handicap);
$st->execute();
}
echo "<script type='text/javascript'>
alert('Successful Insert ! ');
window.location.href = 'Add participant.php';
</script>";
} else {
echo "<script type='text/javascript'>alert('You didn't choose which user you want to insert ! ')</script>";
}
}
} catch(PDOException $e) {
echo "error".$e->getMessage();
}
?>
こんにちは、答えるために感謝を。しかし、それは動作しません。テーブル「メンバー」からデータを取り出してテーブル「参加者」に保存できないのだろうか? – cha
これを修正する方法は、クエリで返されるエラーを探すことです。エラーは何ですか? – Grant
プレビュー時にエラーは表示されません。これはメンバーのデータを表形式で表示し、「選択したものを追加」ボタンを表示しただけです。しかし、チェックボックスをオンにしてAdd selectedボタンをクリックすると、ボタンが機能しませんでした。 – cha