2017-07-27 3 views
-1

Ich bin neu bei PHP und versucht, dies zu lösen, durchlief viele Artikel vor der Frage hier, aber keine bessere Antwort. Ich hole Sql-Zeilen mit mysqli_fetch_array($result)Wie nicht MySQL Zeile anzuzeigen, wenn die Zeile leer ist

Wenn die Zeilen leer sind, zeigt das Frontend eine leere Zeile, die ein seltsames Aussehen gibt. Es sollte eine Möglichkeit geben, keine leeren Zeilen aus der Datenbank anzuzeigen.

Mein Code

<?php 
include_once("config.php"); 
date_default_timezone_set('Asia/Kolkata'); 
//$timestamp = time(); 
$day = "" . date("D"); 
$dayt= "t" . date("D"); 
$dayr= "r" . date("D"); 
$result = mysqli_query($mysqli, "SELECT * FROM Time_table WHERE regd='". $_SESSION['TextBox1'] ."' ORDER BY id DESC"); 
     while($res = mysqli_fetch_array($result)) { 
      echo "<tr>"; 
      echo "<td style='width: 30%'>".$res[$dayt]."</td>"; 
      echo "<td style='width: 30%'>".$res[$day]."</td>"; 
      echo "<td style='width: 40%'>".$res[$dayr]."</td>"; 
      } 
     ?> 

Antwort

2

Ich würde Ihnen vorschlagen Ändern Sie Ihre Auswahlabfrage, um Zeilen mit leeren Spalten auszuschließen.

Zum Beispiel:

$result = mysqli_query($mysqli, "SELECT * FROM Time_table WHERE regd='". $_SESSION['TextBox1'] ."' AND some_possibly_empty_column <> '' ORDER BY id DESC"); 

oder wenn Ihre Spalte ermöglicht NULL-Wert, dann noch besser:

$result = mysqli_query($mysqli, "SELECT * FROM Time_table WHERE regd='". $_SESSION['TextBox1'] ."' AND some_possibly_empty_column IS NOT NULL ORDER BY id DESC"); 
+0

kann ich mehrere UND-Anweisungen für ex verwenden: 'SELECT * FROM Zeit_tabelle WHERE regd = '". $ _SESSION [' TextBox1 ']. "' UND $ Tag <> '' UND $ dayt UND $ dayr;' wenn nicht wie es geht? –

+0

Ja absolut. Sie können diesen 'AND $ Tag <> '' UND $ dayt <> '' UND $ dayr <> ''' mögen – Yolo

0

Sie müssen jede Zeile nach Daten überprüfen, die nicht leer sein. Ex:

 while($res = mysqli_fetch_array($result)) { 
      if (!empty($res[$dayt])) { 
       echo "<tr>"; 
       echo "<td style='width: 30%'>".$res[$dayt]."</td>"; 
       echo "<td style='width: 30%'>".$res[$day]."</td>"; 
       echo "<td style='width: 40%'>".$res[$dayr]."</td>"; 
      } 
     } 

Vergessen Sie nicht schließen Sie Ihren tr Tag

+0

Parse-Fehler: Syntaxfehler, unerwarteter '{' in C: \ xampp \ htdocs \ admin \ timetable.php on line 10 –

+0

Was mache ich falsch? –

+0

Mein Fehler, sorry. Ich habe den Code –

0

Sie auch für leere Werte in der where-Anweisung von SQL-Abfrage überprüfen:

SELECT * FROM table WHERE xxx != '' 
Verwandte Themen