我认为这是一个愚蠢的问题,但很遗憾我已经开始使用php了,实际上我想显示消息,如果我没有表中的数据,那我该怎么办呢。我的代码在这里先谢谢
<?php
error_reporting(0);
include("connection.php");
session_start();
if(!($_SESSION['email']))
{
echo "please login first to access this page";
header("refresh:3;url=index.php");
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<style>
body
{
margin: 0;
padding: 0;
}
table
{
border-collapse: collapse;
width: 100%;
font-family: sans-serif;
font-size: 15px;
}
th,td
{
padding: 5px;
text-align: left;
}
tr:nth-child(even)
{
background: #edf0f5;
}
th
{
background: #00A800;
color: white;
padding: 5px;
font-family: sans-serif;
}
a
{
text-decoration: none;
color: #00A800;
}
a:hover
{
text-decoration: underline;
}
</style>
<title>View all the data</title>
</head>
<body>
<table>
<tr>
<th>Roll NO</th>
<th>Student Name</th>
<th>Father Name</th>
<th>Class</th>
<th>Class Section</th>
<th>Phone number</th>
<th>Email Address</th>
<th>Address</th>
<th>Edit</th>
<th>View Fees</th>
<th>Attendance</th>
</tr>
<?php
$select="select *from student where class='1' AND section='B' ";
$run=mysqli_query($con,$select);
$i=0;
while($row=mysqli_fetch_array($run))
{
$id=$row['id'];
$s_name=$row['s_name'];
$f_name=$row['f_name'];
$class=$row['class'];
$section=$row['section'];
$phone=$row['phone'];
$email=$row['email'];
$address=$row['address'];
$i++;
?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $s_name;?></td>
<td><?php echo $f_name;?></td>
<td><?php echo $class;?></td>
<td><?php echo $section;?></td>
<td><?php echo $phone;?></td>
<td><?php echo $email;?></td>
<td><?php echo $address;?></td>
<td><a href="edit.php?edit=<?php echo $id;?>" target="_blank">Edit</a></td>
<td><a href="view_fees.php?view_fees=<?php echo $id;?>" target="_blank">Fees</a></td>
<td><a href="attendance.php" target="_blank">Attendance</a></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
请阅读我的代码并指导我如何显示我的消息再次感谢您
答案 0 :(得分:4)
您可以使用mysqli_num_rows()
检查结果中的行数
$select = "select *from student where class='1' AND section='B' ";
$run = mysqli_query($con, $select);
if (mysqli_num_rows($run > 0)) {// check if your query return result
// your code
} else {
echo "NO result found";
}
答案 1 :(得分:3)
您需要检查是否返回行,如果没有,则显示错误。
$i = 0;
while($row=mysqli_fetch_array($run)) {
// Your code
$i++;
}
if ($i <1) {
?>
<tr><td colspan="11">There are no records.</td></tr>
<?php
}
<强>解释强>
1)我们采用了变量$i
,初始化为0
2)在while循环中,它会递增。
3)如果我们有记录,在while循环之后,我们会$i
超过0
。
4)如果它仍然0
小于1
,则表示没有记录并显示错误消息。
答案 2 :(得分:1)
您可以使用mysqli_num_rows
来计算返回的行数:
返回结果集中的行数。
由于mysqli_num_rows
将返回0
,如果没有结果,您可以使用!
检查结果是否为false
。
$select="select *from student where class='1' AND section='B' ";
$run=mysqli_query($con, $select);
if (!mysqli_num_rows($run)) {
echo "No result is found";
} else {
// to do if there's result
}