我正在开发一个网站,学生可以在其中订阅他们必须参加的某些时间,并且每个小时都有一个唯一的 ID (pitid),下面的代码搜索用户自己订阅的时间,我希望选中复选框是否 pitid 等于使用以下代码检索的值。但我不知道怎么做;也许将查询结果放在一个数组中,并检查每个 pitid 是否等于数组中保存的值之一......
!(http://i63.tinypic.com/14uj77k.png)
$user=$_SESSION['user'];
$q=mysql_query("SELECT timetable.pitid FROM timetable,hours WHERE llnr='".$user."' AND timetable.pitid=hours.pitid AND hours.location='olc' ");
for($i=0; $i<mysql_numrows($q);$i++){
$check=mysql_result($q,$i,"pitid");
echo"$check<br>";
}
这是生成列表的代码:
$user=$_SESSION['sess_user'];
$olchours= mysql_query("SELECT pitid,pit,hour,location,seats FROM hours WHERE `hours`.`location` = 'olc' ORDER BY pitid");
echo'<table>
<tr>
<td width="100px">Select</td>
<td width="100px">PIT.ID</td><td width="100px">Day</td>
<td width="100px">hour</td><td width="100px">taken seats</td>
<td width="300px">Available Seats</td>
</tr>';
for($i=0; $i<mysql_numrows($olchours); $i++){
$olcpitid=mysql_result($olchours,$i,"pitid");
$olcday=mysql_result($olchours,$i,"pit");
$olchour=mysql_result($olchours,$i,"hour");
$olcseats=mysql_result($olchours,$i,"seats");
$olcq=mysql_query("SELECT COUNT(*) FROM hours,timetable WHERE hours.pitid='".$olcpitid."' AND hours.pitid=timetable.pitid");
$olcrow=mysql_fetch_assoc($olcq);
$olcmatches=$olcrow['COUNT(*)'];
$olcopen=$olcseats-$olcmatches;
if(($i%8)==0){
echo'<tr><td> </td></tr><tr><td><form method="POST" action=""><input type="checkbox" name="hourolc[]" value="'.$olcpitid.'">
<td>'.$olcpitid.' </td><td>'.$olcday.' </td><td>'.$olchour.'</td><td>'.$olcmatches.'</td><td>'.$olcopen.'</td></tr>';
}
else{
echo'<tr><td><form method="POST" action=""><input type="checkbox" name="hourolc[]" value="'.$olcpitid.'" >
<td>'.$olcpitid.' </td><td>'.$olcday.' </td><td>'.$olchour.'</td><td>'.$olcmatches.'</td><td>'.$olcopen.'</td></tr>';
}
}
echo'</table><br>';
}
编辑你的 if
else<?php
if(($i%8)==0){
echo'<tr><td> </td></tr><tr><td><form method="POST" action=""><input type="checkbox" name="hourolc[]" value="'.$olcpitid.'"';if($your_db_value == $to_be_matched){echo 'checked="checked"'}echo'>
<td>'.$olcpitid.' </td><td>'.$olcday.' </td><td>'.$olchour.'</td><td>'.$olcmatches.'</td><td>'.$olcopen.'</td></tr>';
}
else{
echo'<tr><td><form method="POST" action=""><input type="checkbox" name="hourolc[]" value="'.$olcpitid.'"';if($your_db_value == $to_be_matched){echo 'checked="checked"'} echo' >
<td>'.$olcpitid.' </td><td>'.$olcday.' </td><td>'.$olchour.'</td><td>'.$olcmatches.'</td><td>'.$olcopen.'</td></tr>';
}
?>
试试这个,阅读评论以获得解释。
$queryResult = array('', '', ''); // list from db
$to_be_matched_pitid = 3; // to be matched pitid
if(in_array($to_be_matched_pitid, $queryResult)) {
echo 'array CONTAINS the pitid';
} else {
echo 'array does not CONTAIN the pitid';
}
更改
$check=mysql_result($q,$i,"pitid");
自
$check[]=mysql_result($q,$i,"pitid");
在数组中存储值