これを行う最善の方法、または可能かどうかはわかりません。基本的に、次のようなチェックボックスがあります。
php
foreach($clients as $client){
echo'
<input type="checkbox" name="client_data[]" value="'.$class_id.'">
'.$client['first_name'].' ('.$client['nickname'].') '.$client['last_name'].'
<br />';
} // foreach($client
HTMLはこんな感じ
<form method="post" action="">
<input type="checkbox" value="?" name="client_data[]">
Dwayne (The Rock) Johnson<br>
<input type="checkbox" value="?" name="client_data[]">
Steve (Puddin) Robinson<br>
<input type="submit" value="Add" name="exist_to_class">
</form>
フォームが送信されたら、挿入したい
$first_name, $nickname, $lastname
次のようなクエリを使用してデータベースに入力します。
mysql_query("INSERT INTO `clients` (`user_id`, `first_name`, `last_name`, `nickname` `class_id`)
VALUES ('$user_id', '$first_name, '$last_name', '$nickname', '$class_id')");
これは可能ですか、それとも私がこれを設定しようとしている方法に近づいていますか? 私はこれまであまり運がありませんでした。
私のdbテーブルは次のようになります:
異なるclass_idでクライアントに複数回入ることができる必要があります。
これを達成するための最良の方法は何ですか?
関数を呼び出してデータを db に挿入するコードは次のとおりです。
if (isset($_POST['exist_to_class'])){
if (empty($_POST['client_data']) === true){
$errors [] = 'You much select a client to be added to the class.';
} else {
if (isset($_POST['client_data']) && !empty($_POST['client_data']));
list($first_name, $nickname, $last_name) = explode('|', $_POST['client_data']);
exist_client_to_class($class_id);
header('Location: view_class.php?class_id='.$class_id.' ');
}
} //isset
そして、ここに私の質問があります:
function exist_client_to_class($class_id, $user_id){
$class_id = (int)$class_id;
$user_id = (int)$user_id;
mysql_query("INSERT INTO `clients` (`user_id`, `first_name`, `last_name`, `nickname` `class_id`)
VALUES ('$user_id', '$first_name, '$last_name', '$nickname', '$class_id')");
}
私は何を間違っていますか?