Variable vide a ne pas afficher en php

Résolu
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -  
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
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 89 Date d'inscription   Statut Membre Dernière intervention   3
 
SOYEZ BENI !!!!! lol




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



BONNE JOURNEE !!!!!!
2
Tsunami Chups Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   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
0
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   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é
0
Tsunami Chups Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   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)
0

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

Posez votre question
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   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
0
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   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.
0
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   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!";
}

?>
0
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   3
 
lol tjrs pas !!!!
0
Leviathan49 Messages postés 257 Date d'inscription   Statut Membre Dernière intervention   70
 
Ça affiche quoi :
-rien ?
-une erreur ?

Si tu pouvais aussi afficher un bout de ton code ça serait sympa.
0
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   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 

?>
0
Tsunami Chups Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   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
0
fredodo13 Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   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>"; 
}  
 ?> 
0