[RESOLU] afficher ou pas les résultats d'une requête selon condition

Eléphanteau du PHP | 26 Messages

22 févr. 2014, 20:18

bonjour, je sollicite votre aide pour me permettre d’optimiser une galerie image.
j’ai deux champs « images » dans ma base de données
1- portrait
2-paysage

dans ma bdd, les .jpg ou .gif sont séparés par des « pipes » :

img01.jpg|img02.jpg|img03.jpg etc

le code suivant affiche les images :
<?php	  
$tableau_vignettes = explode("|",trim($donnees[‘paysage']));
for ($i = 0; $i < count($tableau_vignettes); $i++)
{
?>
<div class=« image">
      <div class="inner">
     <img src=« galeries/1180x600/<?php echo $tableau_vignettes[$i]; ?>"  />
     </div>    
    </div>
<?php
}
?>
seulement, certaines galeries peuvent ne contenir que des images de type « paysage »
pour l’instant, si le champs est vide, le code m’affiche une image vide
pourriez-vous m’indiquer un code qui dirait, en gros :

si le champs « paysage » est vide, on annule l’affichage des données
s’il contient une donnée, on affiche

je vous remercie par avance

ViPHP
ViPHP | 1996 Messages

22 févr. 2014, 20:45

Bonjour,

Essayes avec empty()
<?php    
$tableau_vignettes = explode("|",trim($donnees['paysage']));
for ($i = 0; $i < count($tableau_vignettes); $i++) {
  if (!empty($tableau_vignettes[$i])) {
  ?>
  <div class="image">
      <div class="inner">
        <img src="galeries/1180x600/<?php echo $tableau_vignettes[$i]; ?>"  />
     </div>    
   </div>
<?php
  }
}
?>
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 26 Messages

22 févr. 2014, 21:06

ça marche avec empty, je te remercie vraiment
peux-tu simplement m'expliquer brièvement le sens de cette ligne de code ?
je pensais qu'il faudrait un else en plus, la logique php restera à jamais un épais mystère pour moi...
encore merci

ViPHP
ViPHP | 1996 Messages

22 févr. 2014, 21:42

 if (!empty($tableau_vignettes[$i])) {
Veut dire :

si $tableau_vignettes[$i] n'est PAS vide (présence du !).

On aurait pu écrire :
 if (empty($tableau_vignettes[$i]) === false) {
empty vérifie si la variable existe et si elle est égale à 0, NULL, FALSE, ... (voir http://www.php.net/manual/fr/function.empty.php)
Si elle ne rempli pas la condition (ie. si elle contient quelque chose), elle renvoi true sinon false.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 26 Messages

23 févr. 2014, 15:52

merci pour ces explications, bon we