2011-11-26 8 views
6

Sto cercando di capire come saltare la stampa di una riga da una tabella MySQL se la variabile è vuota. Ad esempio, ho una tabella piena di informazioni. Ho un ciclo while che echos il risultato. Come posso saltare una voce se una variabile è vuota?Come saltare un elemento mentre è in ciclo se la variabile è vuota?

Ad esempio, è possibile annullare l'eco se "tweet1" è vuoto nella riga?

mysql_connect ($DBsever, $DBusername, $DBpass) or die ('I cannot connect to the database becasue: '.mysql_error()); 
mysql_select_db ("$DBname"); 

$query = mysql_query("SELECT * FROM $DBtable ORDER BY time"); 

while ($row = mysql_fetch_array($query)) { 
    echo "<br /><strong>".$row['time']." ".$row['headline']."</strong><br/>".$row['description']."<br />".$row['story1']." <a href=".$row['link1']." target='_blank'>".$row['link1']."</a> ".$row['tweet1']."<br />";} 
+1

utilizzare una condizione e un 'CONTINUE per passare alla successiva iterazione. – thetaiko

risposta

11

È possibile utilizzare continue struttura di controllo per saltare un'iterazione. Si prega di leggere l'esempio docs

:

if(!$row['tweet']) { 
    continue; 
} 
1

Prova:

while ($row = mysql_fetch_array($query)) { 
if ($row['tweet1']) 
    echo "<br /><strong>".$row['time']." ".$row['headline']."</strong><br/>".$row['description']."<br />".$row['story1']." <a href=".$row['link1']." target='_blank'>".$row['link1']."</a> ".$row['tweet1']."<br />"; 
} 
6
if (empty($row['tweet'])) { 
    continue; 
} 
6

Si potrebbe anche non restituire le righe senza informazioni in tweet1, questo renderebbe il controllo di php per i dati in tweet1 inutili.

$query = mysql_query("SELECT * FROM $DBtable WHERE tweet1 IS NOT NULL ORDER BY time"); 
0
while ($row = mysql_fetch_array($query)) { 
    if (!empty($row['tweet1']) { 
    echo "<br /><strong>".$row['time']." ".$row['headline']."</strong><br/>".$row['description']."<br />".$row['story1']." <a href=".$row['link1']." target='_blank'>".$row['link1']."</a> ".$row['tweet1']."<br />"; 
    } 
} 
Problemi correlati