0

このコードは、特定の場所の人々のリストをエコーするように設計されています。次に、名前の横にあるチェックボックスをオンにして、新しいグループでデータベースを更新するフォームを送信することにより、これらすべての人々をグループ化できます。それはすべて非常に単純に聞こえます。ただし、残念ながら、データベースは相互に関連付けられた多数のテーブルを使用して設定されています。そのため、少し複雑になります。これが私がこれまでに持っているものです:

<?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ループが必要になります。私じゃないの?

4

1 に答える 1

0

これは私がしなければならなかったことです:

$query3 = mysql_query("SELECT * FROM `Participant` WHERE idParticipant = $values;");
$columnFirstName = array();
$columnSecondName = array();
$columnID = array();
while($row = mysql_fetch_array($query3)){

$columnFirstName[] = $row['firstName'];
$columnSecondName[] = $row['secondName'];
$columnID[] = $row['idParticipant'];

}

for($i=0;$i<count($columnFirstName);$i++) {

 $firstName  = $columnFirstName[$i];
 $secondName = $columnSecondName[$i];
 $id = $columnID[$i];

 echo "<input type='checkbox' name='check[]' id='$id' value='$id' />";
 echo $firstName." ";
 echo $secondName."<br><br>";

}

?>

<input type="submit" name="submit" value="Save New Group"> 

</form>
于 2012-06-15T11:09:54.043 に答える