Variable vide a ne pas afficher en php

Résolu/Fermé
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
- 24 juin 2010 à 12:37
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
- 24 juin 2010 à 15:03
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

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




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



BONNE JOURNEE !!!!!!
1
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
24 juin 2010 à 13:05
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
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
24 juin 2010 à 13:22
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
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Modifié par Leviathan49 le 24/06/2010 à 13:50
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
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
24 juin 2010 à 13:33
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
24 juin 2010 à 13:41
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
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Modifié par Leviathan49 le 24/06/2010 à 13:43
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
0
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
24 juin 2010 à 13:58
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
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
24 juin 2010 à 14:00
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
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
24 juin 2010 à 14:06
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
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
24 juin 2010 à 14:17
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
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
24 juin 2010 à 14:24
lol tjrs pas !!!!
0
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
24 juin 2010 à 14:26
Ça affiche quoi :
-rien ?
-une erreur ?

Si tu pouvais aussi afficher un bout de ton code ça serait sympa.
0
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
24 juin 2010 à 14:29
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
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Modifié par Leviathan49 le 24/06/2010 à 14:43
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
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
24 juin 2010 à 14:41
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
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
2
24 juin 2010 à 14:45
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
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Modifié par Leviathan49 le 24/06/2010 à 15:02
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