警告:第131行

时间:2015-09-16 01:48:16

标签: php html

<?php
                        foreach($ticket as $t)
                        {
                    ?>
                    <tr>
                        <td><?php echo $t['Ticket_no']; ?></td>
                        <td><?php echo $t['name']; ?></td>
                        <td><?php echo $t['Roll']; ?></td>
                        <td><?php echo $t['branch']; ?></td>
                        <td><?php echo $t['hostel_id']; ?></td>
                        <td><?php echo $t['Indisciplinary_desc']; ?></td>
                        <td><?php echo $t['reporting_date']; ?></td>
                        <td><input id="actionyes" type="submit" value="Yes"/>
                            <input id="actionno"type="submit" value="No"/>
                        </td>
                    </tr>
                    <?php
                        }
                        ?>

我正在尝试重复该行,因为数据已插入db.so我已经运行了foreach循环,但它正在向我发出警告而不是输出,所以请任何人帮我解决此警告。

<?php

$query="SELECT i.Ticket_no,i.Roll,i.reporting_date,i.Indisciplinary_desc,r.hostel_id,s.branch,s.name FROM indisciplinary_dc_reports i,room_allocation1 r,student s WHERE i.Forward_status=0 AND i.roll=r.roll AND i.roll=s.roll AND r.end_date>NOW() AND i.Closure_status=0";
$query_run=mysql_query($query,$db);
if(mysql_num_rows($query_run)==False)
{
   echo "No Pending Records.";
}
else
{
    $ticket=mysql_fetch_assoc($query_run);
}
?>

1 个答案:

答案 0 :(得分:1)

使用这样的常规语法:

while ($ticket=mysql_fetch_assoc($query_run)) {
    echo $ticket['Ticket_no'];
...other fields...

}

这就是mysql_fetch_assoc的工作原理

  

返回与获取的行对应的关联数组   提前移动内部数据指针。 mysql_fetch_assoc()相当于使用MYSQL_ASSOC调用mysql_fetch_array()   可选的第二个参数它只返回一个关联数组

所以它有一个指针,你不能在另一个循环中多次使用它。

另外

  

警告

     

此扩展在PHP 5.5.0中已弃用,并已在PHP中删除   7.0.0。相反,应该使用MySQLi或PDO_MySQL扩展。