我正在开发一个网站,学生可以订阅他们必须参加的特定时间,每小时都有一个唯一的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>';
}
答案 0 :(得分:0)
试试这个,阅读评论以获得解释。
$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';
}
答案 1 :(得分:0)
更改
$check=mysql_result($q,$i,"pitid");
到
$check[]=mysql_result($q,$i,"pitid");
将值存储在数组
中答案 2 :(得分:0)
编辑你的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>';
}
?>