Variable vide a ne pas afficher en php

Résolu
Bonjour,
Voilà mon probleme : j'ai une base de données avec des champs qui peuvent être rempli comme vide, cela depend...

Ce que j'aimerai faire c'est pour les champ rempli je souhaite tout naturelement que ls variables apparaissent et quand php rencontre un champ vide il n'affiche rien.

J'imagine qu'il va avoir du if, du else et du empty lol.... :)

14 réponses

  1. SOYEZ BENI !!!!! lol

    MERCI BCP Leviathan49 & Tsunami Chups QUAND VOUS VOULEZ VOUS PASSER PRENDRE UN VERRE lol

    BONNE JOURNEE !!!!!!
    2
    1. Il y a plus simple, mais moins propre, tu met un @ devant ta variable ca cachera les message d'erreurs du genre variable pas définit, mais en cas de problème dans ton script ca risque de devenir vite dure de trouver l'erreur

      s'est pas propre mais ca marche
      0
      1. C'est à dire ?
        dans mon code j'ai :

        <?php echo "<a href='mailto:".$donnees["mail"]."?subject=Demande'>Envoyez un mail</a>" ; ?> |
        <?php echo "<a target='_blank' href='".$donnees["siteweb"]."'>Visitez le site</a>" ; ?>

        Mais deja un grand merci pour ta réponse...
        0
        1. Tu veux quoi exactement? Que si on a pas de mail il n'affiche pas le lien vers le mail ?
          Dans ce cas je dirais :
          <?php   
          if(!empty($donnees["mail"]))  
          {  
              echo "<a href='mailto:".$donnees["mail"]."?subject=Demande'>Envoyez un mail</a>" ;  
          }   
          ?>


          EDIT :Voilà code corrigé
          0
          1. S'il y a des lien la solution de Leviathan49 est meilleur, si ce n'est que des données tu peut directement mettre @$donnees["nom"] (par exemple)
            0
        2. Il y des liens tout à fait.
          C'est bien ça leviathan c'est possible qu'il y un lien vers un mail ou pas...

          Ouch j'ai une erreur : Fatal error: Call to undefined function isempty()

          Une idée peut etre ? je suis pas tres fort mais il manque pas un petit else ??

          merci bcp
          0
          1. Lol meme avec l'exemple j'y arrive po :s...

            Faut que je rajoute quoi exactement ???

            <?php
            if(!empty($donnees["mail"]))
            {
            echo "<a href='mailto:".$donnees["mail"]."?subject=Demande'>Envoyez un mail</a>" ;
            }
            ?>

            I am lost lol

            merci !
            0
            1. Ce code fait :
              -si $donnees["mail"] est vide => rien
              -si $donnees["mail"] n'est pas vide => echo " ... ";
              Donc met ce code là où tu dois afficher ton lien.
              0
          2. Toujours pas lol je commence à etre loud...

            <?php
            if(!empty($donnees["mail"]) {
            echo "EMPTY!";
            } else {
            echo "<a href='mailto:".$donnees["mail"]."?subject=Demande'>Envoyez un mail</a>" ;
            }

            ?>
            0
            1. S'est l'inverse ^^

              <?php
              if(!empty($donnees["mail"]) {
              echo "<a href='mailto:".$donnees["mail"]."?subject=Demande'>Envoyez un mail</a>" ;
              } else {
              
              echo "EMPTY!";
              }
              
              ?>
              
              0
              1. lol tjrs pas !!!!
                0
                1. Ça affiche quoi :
                  -rien ?
                  -une erreur ?

                  Si tu pouvais aussi afficher un bout de ton code ça serait sympa.
                  0
              2. Oui une erreur :
                Parse error: syntax error, unexpected '{'

                je vous donne tout meme :

                La page web : https://www.lesgorgesduverdon.fr/
                (comme vous le voyez le dernier camping doit pas afficher le champ mail et siteweb puisqu'il y en a pas)

                Une partie du code :

                </td>
                </tr>
                <tr>
                <td width="102"><p class="Style3">Tel : <?php echo $donnees['tel']; ?></p></td>
                <td colspan="3">
                <p align="right" class="Style3"><?php echo "<a href='mailto:".$donnees["mail"]."?subject=Demande via lesgorgesduverdon.fr'>Envoyez un mail</a>" ; ?> | <?php echo "<a target='_blank' href='".$donnees["siteweb"]."'>Visitez le site</a>" ; ?>

                </td>
                </tr>
                </table>
                <br /><br />
                <?php
                }

                $reponse->closeCursor(); // Termine le traitement de la requête

                ?>

                Merci pour votre temps
                0
                1. Je pourrais avoir le code AVEC la fonction
                  <?php    
                  if(!empty($donnees["mail"]))   
                  {   
                      echo "<a href='mailto:".$donnees["mail"]."?subject=Demande'>Envoyez un mail</a>" ;   
                  }    
                  ?> 


                  Soit :
                  </td> 
                  </tr> 
                  <tr> 
                  <td width="102"><p class="Style3">Tel : <?php echo $donnees['tel']; ?></p></td> 
                  <td colspan="3"> 
                  <p align="right" class="Style3"><?php    
                  if(!empty($donnees["mail"]))   
                  {   
                      echo "<a href='mailto:".$donnees["mail"]."?subject=Demande'>Envoyez un mail</a>" ;   
                  }    
                  ?> | <?php echo "<a target='_blank' href='".$donnees["siteweb"]."'>Visitez le site</a>" ; ?> 
                  
                  
                  
                  
                  
                  
                  </td> 
                  </tr> 
                  </table> 
                  <br /><br /> 
                  <?php 
                  } 
                  
                  $reponse->closeCursor(); // Termine le traitement de la requête 
                  
                  ?>
                  0
              3. Il faut tout le code a partir de la boucle while si possible, le problème viens d'une { en trop ou en moins
                0
                1. Je mets tout !!!!

                  <?php
                  try
                  {
                  $bdd = new PDO('mysql:host=db2464.1and1.fr;dbname=XXXXX', 'XXXXXXX', 'XXXXXX', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
                  }
                  catch(Exception $e)
                  {
                  // En cas d'erreur, on affiche un message et on arrête tout
                  die('Erreur : '.$e->getMessage());
                  }

                  // Si tout va bien, on peut continuer

                  // On récupère tout le contenu de la table jeux_video
                  $reponse = $bdd->query('SELECT * FROM camping WHERE ville="bauduen"');

                  // On affiche chaque entrée une à une
                  while ($donnees = $reponse->fetch())
                  {

                  ?>

                  <table width="468" border="0" align="center">
                  <tr>
                  <td colspan="3">
                  <p class="Style3"><?php echo $donnees['nom']; ?></p></td>
                  <td width="19">

                  <p align="right"><?php
                  if($donnees['etoiles']== '1'){echo '<img src="../img/1-etoile.gif">'; }
                  elseif($donnees['etoiles']== '2'){echo '<img src="../img/2-etoiles.gif">'; }
                  elseif($donnees['etoiles']== '3'){echo '<img src="../img/3-etoiles.gif">'; }
                  elseif($donnees['etoiles']== '4'){echo '<img src="../img/4-etoiles.gif">'; }
                  ?></p>

                  </td>
                  </tr>
                  <tr>
                  <td colspan="2">
                  <p class="Style3">Ouverture de <?php echo $donnees['ouverture']; ?></p>
                  </td>
                  <td colspan="2">
                  <p align="right">
                  <?php if($donnees['wifi']== 'Oui'){echo '<img src="../img/wifi.gif" title="Accès internet" >'; }
                  elseif($donnees['wifi']== 'Non'){echo '<img src="../img/nowifi.gif" title="Pas d\'accès internet">';
                  }
                  ?>

                  <?php if($donnees['piscine']== 'Oui'){echo '<img src="../img/piscine.gif" title="Piscine disponible">'; }
                  elseif($donnees['piscine']== 'Non'){echo '<img src="../img/nopiscine.gif" title="Pas de piscine disponible">';
                  }
                  ?>

                  <?php if($donnees['tennis']== 'Oui'){echo '<img src="../img/tennis.gif" title="Court de tennis disponible">'; }
                  elseif($donnees['tennis']== 'Non'){echo '<img src="../img/notennis.gif" title="Pas de court de tennis">';
                  }
                  ?>   

                  <?php if($donnees['tente']== 'Oui'){echo '<img src="../img/tente.gif" title="Emplacement tente">'; }
                  elseif($donnees['tente']== 'Non'){echo '<img src="../img/notente.gif" title="Pas d\'emplacement tente">';
                  }
                  ?>

                  <?php if($donnees['caravane']== 'Oui'){echo '<img src="../img/caravane.gif" title="Emplacement caravane/camping-car">'; }
                  elseif($donnees['caravane']== 'Non'){echo '<img src="../img/nocaravane.gif" title="Pas d\'emplacement caravane/camping-car">';
                  }
                  ?>
                  <?php if($donnees['mobil']== 'Oui'){echo '<img src="../img/mobilhome.gif" title="Location mobil-home possible">'; }
                  elseif($donnees['mobil']== 'Non'){echo '<img src="../img/nocaravane.gif" title="Pas de location mobil-home">';
                  }
                  ?> </p>
                  </td>
                  </tr>
                  <tr>
                  <td width="102"><p class="Style3">Tel : <?php echo $donnees['tel']; ?></p></td>
                  <td colspan="3">
                  <p align="right" class="Style3"><?php echo "<a href='mailto:".$donnees["mail"]."?subject=Demande via lesgorgesduverdon.fr'>Envoyez un mail</a>" ; ?> | <?php echo "<a target='_blank' href='".$donnees["siteweb"]."'>Visitez le site</a>" ; ?>

                  </td>
                  </tr>
                  </table>
                  <br /><br />
                  <?php
                  }

                  $reponse->closeCursor(); // Termine le traitement de la requête

                  ?>
                  <br />
                  <p align="center" class="Style3"><a href="../camping/add.html">Ajoutez ou modifiez votre camping gratuitement</a></p>
                  0
                  1. j'ai testé chaque accolades et tout va bien :/

                    Au passage voilà le code modifier pour gérer le test:
                    ton code :
                    <?php echo "<a href='mailto:".$donnees["mail"]."?subject=Demande via lesgorgesduverdon.fr'>Envoyez un mail</a>" ; ?> | <?php echo "<a target='_blank' href='".$donnees["siteweb"]."'>Visitez le site</a>" ; ?> 

                    code modifié :
                    <?php  
                    if(!empty($donnees["mail"])) 
                    { 
                    echo "<a href='mailto:".$donnees["mail"]."?subject=Demande via lesgorgesduverdon.fr'>Envoyez un mail</a>";  
                    } 
                    ?> | <?php if(!empty($donnees["mail"])) 
                    { 
                    echo "<a target='_blank' href='".$donnees["siteweb"]."'>Visitez le site</a>"; 
                    }  
                     ?> 
                    0