IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] [Débutant] Test conditionnel


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 25
    Points
    25
    Par défaut [Mail] [Débutant] Test conditionnel
    Bonjour à tous,

    Je souhaite afficher les informations des membres dans ma base de données, mais certaines personnes n'ont pas enregistré leur adresse, dans ce cas, je souhaite que le champ MAIL n'apparaisse pas... Mais je ne sais pas comment faire
    (par défaut dans ma base de données le champ mail est NULL).

    Voilà ce qui se passe :

    // on fait une boucle qui va faire un tour pour chaque enregistrement
    $req = mysql_query($sql)

    while($data = mysql_fetch_assoc($req)){

    SI ('.$data['mail'].' n'est pas vide)
    ALORS j'affiche l'adresse e-mail du membre




    }

    Comment traduire en php la ligne d'algorithme qui teste la condition ?

    Merci à l'avance

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($data["mail"] != "") {
      // afficher l'adresse
    }
    Au passage, prends soin de passer tes requêtes comme indiqué dans ma signature.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Mieux encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if (!empty ($var) )
    {
    [...]
    }
    ?>
    Mais va plutôt voir la doc MySQL, car la valeur NULL est particulière et doit mieux être taité dans tes requête, si mes souvenirs sont bons!

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Merci pour votre réponse, mais aucun de vos 2 codes ne fonctionnent. J'avais également trouvé cela dans la doc, et dans les différents tutoriaux. Je ne comprends pas à quel endroit cela bloque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    	
    
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_assoc($req))
    
    // D'abord on affiche différents enregistrements de la table, cela fonctionne correctement.
    echo  '	<td>Nombre de membres :</td>';
    	echo  '	<td>'.$data['membres'].'</td>';
    	
    
    if (!empty($data['mail'])) // Le test qui ne fonctionne pas ... :-(
    	{	
    	echo "Pas dadresse mail";
    	}
    	else{
    	echo  '	<td><a href="mailto:'.$data['mail'].' ?subject=A propos de votre groupe '.$data['nom'].'  ">Contacter le responsable</a></td> '; // ligne 2
    	echo  '</tr>';
    	}
    
    
    	echo  '</table>	</center> ';
    	
    	 }
    Je ne vois pas ce qui coince, normalement, il ne devrait y avoir rien de plus simple qu'un simple test
    Dans tous les cas, qu'il y ait une adresse e-mail d'enregitré ou pas, il affiche la ligne numérotée 2 qui permet d'envoyer un e-mail

    Meci de votre aide

  5. #5
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Déjà ce n'est pas logique ce que tu as écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!empty($data['mail'])) // Le test qui ne fonctionne pas ... :-(
    	{	
    	echo "Pas dadresse mail";
    Si mail n'est pas vide alors c'est qu'il contient un mail et dans ce cas tu dois gérer l'autre branche de ton if
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    J'aurai fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     while($row = mysql_fetch_array($req)) 
    {
    echo $row[ton_champs]; //sans quote vu que c'est array
    }
    Aprés ton test devrait marcher

  7. #7
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    LoL , un peu râleur le guitou

    Essai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    if (!empty($data['mail'])) 
    	{	
    	echo  '	<td><a href="mailto:'.$data['mail'].' ?subject=A propos de votre groupe '.$data['nom'].'  ">Contacter le responsable</a></td> '; // ligne 2
    	echo  '</tr>';
    	}else{
            echo '<td>Pas dadresse mail<td>';
    	}
    	echo  '</table>	</center> ';
    	?>
    Si le !empty ne fonctionne pas, tu peut tjr faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if($data['mail'] == ""){
       echo ' pas de mail';
    }else{
    echo'mail';
    }
    c'est pareil et ca devrait marché.
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  8. #8
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par mLk92
    LoL , un peu râleur le guitou
    Pourquoi raleur alors que je lui fais simplement remarquer son erreur....
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  9. #9
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    Je parlais de ta signature , sinon t'a tout à fait raison pour son erreur.

    Sinon pugnator, je pense que goulasch a raison, a mon avis le mysql_fetch_array($req) serait plus adéquat.
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  10. #10
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par mLk92
    Je parlais de ta signature , sinon t'a tout à fait raison pour son erreur.
    J'envisage de renommer mon pseudo en Concaténator qu'en penses tu ?
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Si vous n'avez pas besoin des indexes numériques (si vous utilisez les nom des champs, ce qui est l'utilisation recommandée), évitez mysql_fetch_array() au profit de mysql_fetch_assoc().

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/03/2007, 06h06
  2. [Débutant]Test d'ouverture d'un fichier.
    Par Lucky-94 dans le forum C
    Réponses: 10
    Dernier message: 23/08/2006, 17h21
  3. [Mail] Débutant: Foncrion Mail
    Par pod1978 dans le forum Langage
    Réponses: 5
    Dernier message: 03/08/2006, 13h22
  4. [Mail] Envoi d'un mail de test
    Par tonton54 dans le forum Langage
    Réponses: 12
    Dernier message: 22/10/2005, 15h31
  5. [débutant] test sur un évènement
    Par heider dans le forum Langage
    Réponses: 4
    Dernier message: 07/10/2005, 00h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo