SELECTを使用して複数のSQLクエリにチェックボックスを使用しようとしています。チェックボックスを使用してテーブルから複数の行を選択
私は別のグループにユーザーを接続するための3つのテーブル、グループユーザーため 1に1つのテーブルと1を持っているがgroupreluserと呼ばれます。どのグループがチェックされているかに基づいて、それらのグループのメンバーである各ユーザの電話番号をプリントアウトしたい。
チェックボックスは、テーブルの内容に基づいてグループ
<form method="post">
<?php
$sql = "SELECT * FROM groups WHERE groupname LIKE '%minor%'";
$result = $conn->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<input type="checkbox" name="checked[]" value="'.$row['group_id'].'">'
. $row['groupname'] . '</br>';
}
}
?>
<input type="submit" name="submit" value="submit">
</form>
電話番号を取得するためのSQLクエリを使用してコードを作成しています。
if(isset($_POST['submit'])){
$check = $_POST['checked'];
if(!empty($check)){
foreach($check as $sel){
$sel = mysqli_real_escape_string($conn, $sel);
$sql = "
SELECT
groups.group_id,
groups.groupname,
groupreluser.user_id,
groupreluser.group_id,
users.user_id,
users.name,
users.phone
FROM
groupreluser
JOIN
groups
ON
groups.group_id = groupreluser.group_id
JOIN
users
ON
users.user_id = groupreluser.user_id
WHERE
groups.group_id = '$sel'
";
$res = $conn->query($sql);
if($res->num_rows > 0){
while($row = $res->fetch_assoc()){
echo $row['phone'] . '</br>';
}
}
}
}
}
それは限り、私は、チェックボックスを使用してはいけないと正常に動作しますが、SELECT文の中で手動でgroup_idのを追加します。なぜこれが動作していないの任意のアイデア?私は見逃していますか?これはしかし、それを行うための最善の方法であれば知らない... が、これは不明であるならば、私に教えてください、と私は、この行はおそらく動作しないより良い
'echo '
$ sqlのいくつかのバージョンを好んでvar_dumpすることができますので、どうやってそれが乱れているのか分かりますか? – Drew
申し訳ありませんが、チェックボックスはフォームタグ内にあります。私は今投稿に追加しました – sveini