<?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);
}
?>
答案 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扩展。