Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 23h12   #1
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Par défaut Problème avec empty

Bonjour,
Voila je récupère de ma Db deux infos (tel_fixe et tel_port).
En bases si le champ n'est pas renseigné j'ai la valeur NULL.
En front je souhaite faire une condition pour afficher un texte si les deux champs sont vide :
Code :
1
2
3
4
5
 
if( empty($row_bene['tel_fixe']) && empty($row_bene['tel_port']) )
{
echo 'toto';
}
Le pb est que dans tout les cas le texte s'affiche.
Si l'un des deux champs est remplis alors le texte s'affiche, idem si aucune données.

Je ne comprend pas le pb.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 23h19   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonsoir,

essaie d'afficher le contenu de ta variable $row_bene

Code :
1
2
3
4
 
echo "<pre>";
print_r($row_bene);
echo "</pre>";
sinon, c'est quelle base de donnée ?
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 09h05   #3
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Voici le résultat :
Code :
1
2
3
4
5
6
 
Array
(
    [tel_fixe] => 
    [tel_port] => 
)
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 09h11   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Utilises plutôt var_dump() à la place de print_r().
Tu sauras ainsi le type des valeurs, leur longueur si String, ect.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 09h30   #5
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Citation:
Envoyé par christobale Voir le message
Voici le résultat :
Code :
1
2
3
4
5
6
 
Array
(
    [tel_fixe] => 
    [tel_port] => 
)
Jusque là, c'est normal que le texte s'affiche...
As-tu constaté l'affichage du texte quand ton print_r (ou var_dump) révèle une valeur dans au moins un des champs ?
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 09h45   #6
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
voila se que cela donne avec le var_dump

Code :
1
2
3
4
array(4) {
  ["tel_fixe"]=> string(14) "00-00-00-00-00"
  ["tel_port"]=> NULL
}
mais j'ai tj le texte qui s'affiche
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 09h55   #7
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
essaie de bypasser la fonction empty()

Code :
if($row_bene['tel_fixe'] == '' && $row_bene['tel_port'] == '')
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 10h08   #8
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
J'ai déjà testé cette méthode, le résultat reste le même.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 10h41   #9
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Hum... "00-00-00-00-00" n'est pas vide pour moi, donc normal que la condition ne s'exécute pas.

Code php :
1
2
3
4
if( (empty($row_bene['tel_fixe']) || $row_bene['tel_fixe'] == '00-00-00-00-00') && (empty($row_bene['tel_port']) || $row_bene['tel_port'] == '00-00-00-00-00') )
{
  echo 'vide';
}
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 10h54   #10
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
, trouvé.
Dsl je n'avais pas donnée tt les infos car ça ne me semblait pas pertinent.
Mais le texte était dans une fonction alors que la rqt était en dehors.
J'ai donc mis la Rqt dans la fonction et la ça marche
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h39.


 
 
 
 
Partenaires

Hébergement Web