Page 1 sur 1

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

Posté : 22 févr. 2014, 20:18
par stofkri
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

Re: afficher ou pas les résultats d'une requête selon condit

Posté : 22 févr. 2014, 20:45
par Aureusms
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
  }
}
?>

Re: afficher ou pas les résultats d'une requête selon condit

Posté : 22 févr. 2014, 21:06
par stofkri
ç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

Re: afficher ou pas les résultats d'une requête selon condit

Posté : 22 févr. 2014, 21:42
par Aureusms
 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.

Re: afficher ou pas les résultats d'une requête selon condit

Posté : 23 févr. 2014, 15:52
par stofkri
merci pour ces explications, bon we