Variable vide a ne pas afficher en php [Résolu/Fermé]

Signaler
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
-
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
-
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

Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
SOYEZ BENI !!!!! lol




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



BONNE JOURNEE !!!!!!
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
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
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
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...
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
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é
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
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)
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
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
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Oui désolé j'ai mis ça sans vérifier le nom de la fonction, c'est empty en fait.
https://www.php.net/manual/en/function.empty.php
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
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 !
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
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.
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
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>" ;
}

?>
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
S'est l'inverse ^^

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

echo "EMPTY!";
}

?>
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
lol tjrs pas !!!!
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Ça affiche quoi :
-rien ?
-une erreur ?

Si tu pouvais aussi afficher un bout de ton code ça serait sympa.
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
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
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
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 

?>
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
Il faut tout le code a partir de la boucle while si possible, le problème viens d'une { en trop ou en moins
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
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>
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
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>"; 
}  
 ?>