2016-03-30 17 views
0

Temel olarak veritabanımı sorgulayan ve her mağaza ile ilgili ayrıntıları veren ve bir görüntü içeren bir php komut dosyası var. Kod, görüntüyü iyi çeker, ancak şu anda veritabanında hiç görüntü yoksa, bunun yerine boşluk ekleyici görüyorum. Bununla birlikte, bir ara görüntüyü kullanmak yerine, veritabanında görüntü yoksa, bir resim oluşturmamak için php kodunun içinde PHP 'if' ifadesini kullanmamın bir yolu var mı? İşte temel sorgu kodudur:php ifadesini php kodu içine ekleme?

<?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 ifadesi için, ben bu satırlar boyunca bir şey düşünüyordum:

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

MySQL fonksiyonlarını kullanmayı bırakın lütfen - mysql sorgusunda 'htmlspecialchars' kullanmayın burada http://stackoverflow.com/q/12859942/5006692 – frankle

+1

okundu. – naomik

+0

Teşekkürler, mysql'yi kaldırarak değiştirmeyi deneyeceğim. – jsmith

cevap

2

Oldukça yakınsın. Sadece Sen de alternatif kontrol akış sözdizimini kullanabilirsiniz img

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

bir daha <?php ... ?> blok kullanın. Bu, birden fazla boyunca <?php etiketlerini

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

{ ve } kapsayan biraz daha güzel okur

Shameless fişi: PHP ile

Yaratma HTML gerçekten çirkin olur. En azından benim görüşüme göre. İşi daha güzel/kolay hale getirmek için naomik/htmlgen'u yaptım. Basitçe böyle

+0

heredoc sözdizimi, başka bir kitaplık eklemek istemiyorsanız HTML oluşturmak için "tamam" da çalışır. – honerlawd

+0

Teşekkürler, ama çalışmıyor gibi görünüyor. 'I tırnak içine koymalı mıyım yoksa diğer php kodunun içerisindeyim mi? – 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

Bu bir resim yoksa tabloyu göndermez miydi, tablo aslında görüntüde olmasa bile tabloyu tutmak istiyorum. – jsmith