复选框,如果等于从数据库中检索的值

时间:2016-03-03 12:06:21

标签: php mysql arrays

我正在开发一个网站,学生可以订阅他们必须参加的特定时间,每小时都有一个唯一的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>&nbsp;</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>'; 

}

3 个答案:

答案 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>&nbsp;</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>';
        }
    ?>