このコードは、特定の場所の人々のリストをエコーするように設計されています。次に、名前の横にあるチェックボックスをオンにして、新しいグループでデータベースを更新するフォームを送信することにより、これらすべての人々をグループ化できます。それはすべて非常に単純に聞こえます。ただし、残念ながら、データベースは相互に関連付けられた多数のテーブルを使用して設定されています。そのため、少し複雑になります。これが私がこれまでに持っているものです:
<?php
//Query the database for the Location ID of the currently logged in user
$query1 = mysql_query("SELECT * FROM `Location` WHERE Name = '".$_SESSION['Location']."'");
$array1 = mysql_fetch_array($query1);
//Query the database for the all the participants in this location, make an array of the results and then implode the array
$query2 = mysql_query("SELECT idParticipant FROM `Participant/Location` WHERE idLocation = ".$array1['idLocation'].";");
$column1 = array();
while($row = mysql_fetch_array($query2)){
$column1[] = $row['idParticipant'];
}
$values = implode(' OR ', $column1);
//Query database for all first names where the particpant ID's equal those of the above $values
$query3 = mysql_query("SELECT firstName FROM `Participant` WHERE idParticipant = $values;");
$columnFirstName = array();
while($row = mysql_fetch_array($query3)){
$columnFirstName[] = $row['firstName'];
}
foreach($columnFirstName as $value){
echo "<input type='checkbox' name='check[]' id='' value='' />";
echo $value."<br><br>";
}
?>
<input type="submit" name="submit" value="Save New Group">
</form>
したがって、上記のコードはその場所のすべての名をエコーアウトし、その横にチェックボックスを追加します。問題は、ファーストネームの横にもセカンドネームを表示する必要があることです。そして、チェックボックスの値を入力するために、各人のIDを取得する必要があります。
どうすればよいかわかりません...2番目の名前に対して2番目のクエリを実行してから、foreachループを微調整する必要があると思います...おそらく、ID用のまったく新しいforeachループが必要になります。私じゃないの?