J GimnZ
J GimnZ

Reputation: 9

Don't show blank spaces

I use an SQL query from PHP code to display fields of a database on a website. Is there a way to delete the blank spaces (whitespaces) in the output of empty (NULL) fields?

Here is my code:

<?php 
    $sql = "SELECT * FROM dining ORDER BY date DESC LIMIT 0, 3";

    $dining = new Database($sql);
    while($dining->results()){

    echo "          
                    <span class='date'>". date("F jS, Y", strtotime($dining->date)) ."</span>
<h3>&nbsp;$dining->title</h3>
<h4>&nbsp;$dining->Comforts</h4> 
&nbsp;$dining->com1<br/>
&nbsp;$dining->com2<br/>
&nbsp;$dining->com3<br/>
&nbsp;$dining->com4<br/>
&nbsp;$dining->com5<br/>
&nbsp;$dining->com6<br/>
<h4>&nbsp;$dining->Breakers</h4>
&nbsp;$dining->break1<br/>
&nbsp;$dining->break2<br/>
<h4>&nbsp;$dining->Wild</h4>
&nbsp;$dining->wild1<br/>
&nbsp;$dining->wild2<br/>
<h4>&nbsp;$dining->Tureens</h4>
&nbsp;$dining->tur1<br/>
&nbsp;$dining->tur2<br/>
&nbsp;$dining->tur3<br/>
<h4>&nbsp;$dining->Desserts</h4>
&nbsp;$dining->des1<br/>
&nbsp;$dining->des2<br/>
&nbsp;$dining->des3<br/>
&nbsp;$dining->des4<br/><br/>
";  
}
?>

Upvotes: 0

Views: 145

Answers (3)

S&#233;bastien
S&#233;bastien

Reputation: 12139

This might fit the bill:

<?php
while($dining->results())
{
    echo "<span class='date'>". date("F jS, Y", strtotime($dining->date)) ."</span>";

if( !empty( $dining->title ) ) echo "<h3>&nbsp;$dining->title</h3>";
if( !empty( $dining->Comforts ) ) echo "<h4>&nbsp;$dining->Comforts</h4> ";
if( !empty( $dining->com1 ) ) echo "&nbsp;$dining->com1<br/>";
if( !empty( $dining->com2 ) ) echo "&nbsp;$dining->com2<br/>";
if( !empty( $dining->com3 ) ) echo "&nbsp;$dining->com3<br/>";
if( !empty( $dining->com4 ) ) echo "&nbsp;$dining->com4<br/>";
if( !empty( $dining->com5 ) ) echo "&nbsp;$dining->com5<br/>";
if( !empty( $dining->com6 ) ) echo "&nbsp;$dining->com6<br/>";
if( !empty( $dining->Breakers ) ) echo "<h4>&nbsp;$dining->Breakers</h4>";
if( !empty( $dining->break1 ) ) echo "&nbsp;$dining->break1<br/>";
if( !empty( $dining->break2 ) ) echo "&nbsp;$dining->break2<br/>";
if( !empty( $dining->Wild ) ) echo "<h4>&nbsp;$dining->Wild</h4>";
if( !empty( $dining->wild1 ) ) echo "&nbsp;$dining->wild1<br/>";
if( !empty( $dining->wild2 ) ) echo "&nbsp;$dining->wild2<br/>";
if( !empty( $dining->Tureens ) ) echo "<h4>&nbsp;$dining->Tureens</h4>";
if( !empty( $dining->tur1 ) ) echo "&nbsp;$dining->tur1<br/>";
if( !empty( $dining->tur2 ) ) echo "&nbsp;$dining->tur2<br/>";
if( !empty( $dining->tur3 ) ) echo "&nbsp;$dining->tur3<br/>";
if( !empty( $dining->Desserts ) ) echo "<h4>&nbsp;$dining->Desserts</h4>";
if( !empty( $dining->des1 ) ) echo "&nbsp;$dining->des1<br/>";
if( !empty( $dining->des2 ) ) echo "&nbsp;$dining->des2<br/>";
if( !empty( $dining->des3 ) ) echo "&nbsp;$dining->des3<br/>";
if( !empty( $dining->des4 ) ) echo "&nbsp;$dining->des4<br/><br/>";

}
?>

PHP's empty() will return true when your value is NULL or contains an empty string. More in the manual.

Upvotes: 0

Manish Goyal
Manish Goyal

Reputation: 700

if(isset(trim($dining->wild1)){
  echo "&nbsp;{$dining->wild1}<br />";
}

Upvotes: 0

Marc B
Marc B

Reputation: 360572

If you want to suppress blank values, you'll have to test each value individually to decide if it should be output or not, e.g.

if (strlen($dining->des1) > 0) {
   echo "&nbsp;{$dining->des1}<br />";
}

Upvotes: 1

Related Questions