2016-03-30 16 views
0

私は基本的に私のデータベースを照会し、各店舗の詳細を提供し、画像を含むPHPスクリプトを持っています。コードは画像をきめ細かく取り込みますが、データベースに画像が存在しない場合は、代わりにスペーサー画像が挿入されています。しかし、スペーサイメージを使用する代わりに、データベースにイメージがリストされていない場合、イメージをレンダリングしないために、PHPの 'if'ステートメントをPHPコード内で使用する方法がありますか?ここでは基本的なクエリのコードです:phpコード内にif文を挿入していますか?

<?php 
    if(strlen($query) >= $min_length){$query = htmlspecialchars($query); 
    $query = mysql_real_escape_string($query); 
    $raw_results = mysql_query("SELECT * FROM stores WHERE `TRAVEL` = '1' AND `STATE` = '$query'") or die(mysql_error());         
    if(mysql_num_rows($raw_results) > 0){ 
    while($results = mysql_fetch_array($raw_results)){ 

    echo "<table width='150' border='3'> 
    <tbody><tr> 
    <td>".$results['NAME']."<br> 
    <img align='left' src='images/images/".$results['IMAGE']."'> 
    </td> 
    </tr></tbody> 
    </table>";    
    }   
    } else{ echo "No results were found"; 

    }   
    } else{ echo " ".$min_length; } 
?> 

のphp if文については、私はこれらの線に沿って何かを考えていた:

<?php if ($results['IMAGE'] != '') { ?> 
<img src='images/icons/".$results['IMAGE']."' height="100" width="auto"> 
<?php }?> 
+1

MySQL関数を使用して停止してください - mysqlのクエリに 'htmlspecialchars'使用していないここにhttp://stackoverflow.com/q/12859942/5006692 – frankle

+1

読みください。 – naomik

+0

ありがとうございます。私はmysqlを削除し、mysqlの変更について調べます。 – jsmith

答えて

2

あなたはかなり近いです。ちょうどあなたがあまりにも代替制御フロー構文を使用することができますimg

<?php if ($results['IMAGE'] != '') { ?> 
    <img src='images/icons/<?php echo $results['IMAGE'] ?>' height="100" width="auto"> 
<?php }?> 

でもう1個の<?php ... ?>ブロックを使用。これは、複数の間で<?phpタグ

<?php if ($results['IMAGE'] != ''): ?> 
    <img src='images/icons/<?php echo $results['IMAGE'] ?>' height="100" width="auto"> 
<?php endif ?> 

{}にまたがるより少し立派読み込み

恥知らずなプラグイン:PHPと

HTMLの生成は本当に醜い取得します。少なくとも私の意見では。仕事をもっと良く/より簡単にするために、私はnaomik/htmlgenを作った。単純にこのような

+0

heredoc構文は、別のライブラリを含めたくない場合はHTMLを生成するために "okay"としても動作します。 – honerlawd

+0

ありがとうございますが、動作していないようです。 <?php if ...?>を引用符で囲むか、他のPHPコードの中にあるので変更する必要がありますか? – jsmith

1

if(isset($results['IMAGE'])){ 

    echo "<table width='150' border='3'> 
    <tbody><tr> 
    <td>".$results['NAME']."<br> 
    <img align='left' src='images/images/".$results['IMAGE']."'> 
</td>"; 

} 
+0

これはイメージが存在しない場合はテーブルをポストしませんが、実際にはイメージがテーブルにない場合でもテーブルを保持したいと思います。 – jsmith

関連する問題