2016-04-14 4 views
4

Я думаю, что это глупый вопрос, но жаль, что я начинаю с php, на самом деле я хочу показать сообщение, если у меня нет данных в таблице, так как я могу делать. мой код здесь Заранее спасибоКак показать сообщение в 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> 

пожалуйста, прочитайте мой код и наставит меня, как я покажу мое сообщение спасибо еще раз

ответ

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) В то время как контур, она увеличивается.

3) Если у нас есть записи, то после цикла мы получим $i более 0.

4) Если он еще 0, что составляет менее 1, это значит, что записей нет и показать сообщение.

+0

Благодарим за прекрасный комментарий –

+0

Мой подход абсолютно прекрасен. Я не внес слишком много изменений в существующий код. Логика также правильна. OP отметил мой ответ как решение. Если мой ответ нуждается в улучшениях/исправлениях, комментарии приветствуются. – Pupil

+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"; 
} 

Read http://php.net/manual/en/mysqli-result.num-rows.php

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 
} 
+0

Спасибо, дорогой за ценный комментарий –

+0

Зачем отрицать этот ответ? – Panda

+0

Просто обратите внимание, что вы используете 'mysqli_num_rows' вместо' mysqli_num_rows ($ run) 'необходимо передать переменную' mysqli_query'. В вашем коде 'mysqli_num_rows' рассматривается как строка – Saty

Смежные вопросы