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

PHP & Base de données Discussion :

Problème de if [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut Problème de if
    Bonjour,

    Petit ennui de débutant :

    Je mets dans une de mes pages une condition ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php if (isset($_SESSION['MM_Username'])) { ?> 
                    <form id="Achat" name="Achat" method="POST" action="<?php echo $editFormAction; ?>">
          <?php if ($totalRows_Panier == 0) { // Show if recordset empty ?>
            <input name="client" type="hidden" id="client" value="<?php echo $_SESSION['MM_Username']; ?>" />
            <input name="article" type="hidden" id="article" value="<?php echo $row_Recordset2['id']; ?>" />
            <input name="quantite" type="hidden" id="quantite" value="1" />
            <label>
              <input type="submit" name="button2" id="button2" value="Ajouter dans Mes suivis" />
            </label>
            <p>
              <input type="hidden" name="MM_insert" value="Achat" />
            </p>
            <?php } // Show if recordset empty ?>
    mais mon soucis est que je souhaite une autre condition comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php if (isset($_SESSION['MM_Username'])== $row_Recordset2['client']) { ?> 
                            En vente
    Le résultat est que la seconde condition l'a emportée sur la première.

    Je suppose qu'il faut faire quelque chose avec un else mais je suis un peu perdu ...

    Merci d'avance pour votre aide .

    HAbroc
    www.masterquizz.fr - Ne vous posez plus de questions

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut

    cela serait plutôt quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (isset($_SESSION['MM_Username']) &&  ($_SESSION['MM_Username'] == $row_Recordset2['client'])) {
       ...
    }
    A moins que tu veuilles sortir autre chose quand la session est vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (isset($_SESSION['MM_Username'])) {
       // défini
       ...
    }
    else {
       // non défini
       ...
    }

  3. #3
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    En fait, je souhaite afficher quelque chose du genre : "Veuillez-vous connecter"

    si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (isset($_SESSION['MM_Username']))
    et : " En vente"

    si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (isset($_SESSION['MM_Username'] == $row_Recordset2['client']))
    ...
    www.masterquizz.fr - Ne vous posez plus de questions

  4. #4
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut

    Peut-être en utilisant ce simple schéma :
    Sous réserves d'avoir compris ton souci.

    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
    <?php if (isset($_SESSION['MM_Username'])) {
     
       if autre_condition 1 {
       $message ="Ton message 1";
       }
         if autre_condition 2 {
       $message ="Ton message 2";
       }
     
     
     
    // Ton formulaire
     
    if (isset($message)) { echo $message;} 
     
    <form id="Achat"...............
     
    }
    Au passage, n'oublie pas de fermer ta balise form avant }.
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  5. #5
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    En fait ce devrait être quelque chose comme ( mais écrit comme cela ça ne fonctionne pas) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php if (!isset($_SESSION['MM_Username']==$condition)) { ?>
     
       if ($condition==$row_Recordset2['client']) {
       $message ="En vente";
       }
         if ($condition==$_SESSION['MM_Username']) {
       $message ="Veuillez vous connecter";
       }
    Le problème est que pour réaliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isset($_SESSION['MM_Username'] == $row_Recordset2['client']))
    la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isset($_SESSION['MM_Username'])
    est déjà réalisée...

    Je récapitule ce que je souhaite faire :

    Je suis en train de réaliser un site de vente, et la page de description peut-être vue par le vendeur comme par l'acheteur. Si c'est l'acheteur qui visite la page, alors je veux vérifier pour afficher certains messages que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $_SESSION['MM_Username']
    existe ; et si c'est le vendeur qui visite la page , je veux vérifier que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['MM_Username'] == $row_Recordset2['client']
    existe pour afficher d'autres messages.
    www.masterquizz.fr - Ne vous posez plus de questions

  6. #6
    Invité
    Invité(e)
    Par défaut
    Si tu n'arrive pas à t'exprimer clairement, c'est que ce n'est pas clair dans ta tête.
    En écrivant LOGIQUEMENT l'enchainement des actions, et textuellement les commentaires, ça devrait aller mieux :
    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
    26
    27
    28
    29
    30
    31
    <?php 
    // si la session existe
    if (isset($_SESSION['MM_Username'])) {
    	if ($_SESSION['MM_Username']==$row_Recordset2['client']) {
    		$message = "En vente";
    	} else {
    		// on affiche le formulaire
    ?>
    	<form id="Achat" name="Achat" method="POST" action="<?php echo $editFormAction; ?>">
    <?php 		// Show if recordset empty
    		if ($totalRows_Panier == 0) 
    		{ 
    ?>
            <input name="client" type="hidden" id="client" value="<?php echo $_SESSION['MM_Username']; ?>" />
            <input name="article" type="hidden" id="article" value="<?php echo $row_Recordset2['id']; ?>" />
            <input name="quantite" type="hidden" id="quantite" value="1" />
            <label>
              <input type="submit" name="button2" id="button2" value="Ajouter dans Mes suivis" />
            </label>
            <p>
              <input type="hidden" name="MM_insert" value="Achat" />
            </p>
    <?php 
    		} // fin Show if recordset empty 
    	}
    } else { // la session n'existe pas
    ?>
    Veuillez vous connecter.
    <?php
    }
    ?>
    Ce n'est peut-être pas exactement ce que tu veux, car je n'ai pas tout compris à tes "explications", mais le principe est là.
    Dernière modification par Invité ; 09/05/2012 à 10h17.

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Je crois que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['MM_Username']
    représente un acheteur ou un vendeur que nous ne pouvons pas distinguer dans la table des utilisateurs car un utilisateur peut être un coup acheteur, un coup vendeur d'un produit.

    Pour ce fait, il faudrait que dans la table des produits, il y est un champ avec l'utilisateur appartenant à ce produit et dans ce cas tu sauras si c le vendeur ou l'acheteur.
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  8. #8
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    Merci à vous pour vos bons conseils.

    J'ai adapté les lignes de jreaux62 et tout fonctionne comme je le souhaitais...

    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
    26
    27
    28
    29
    30
    31
    32
    33
    <div align="center"> 
                       <?php if (!isset($_SESSION['MM_Username'])) { ?><div id="apDiv23">
                         <div align="right"><a title="Cliquez sur le texte Inscrivez-vous ou connectez-vous !" href="login30.php" class="Style23 Style29" style="color: #FF6600">Inscrivez-vous ou connectez-vous !</a></div>
                       </div><?php } ?>
    				   <?php 
    // si la session existe
    if (isset($_SESSION['MM_Username'])) {?>
    	<?php if ($_SESSION['MM_Username']==$row_Recordset2['client']) {?>
        <span class="Style29">En vente</span>
    	<?php } else { ?>
     
         <div id="apDiv23"> 
         <form id="Achat" name="Achat" method="POST" action="<?php echo $editFormAction; ?>">
          <?php if ($totalRows_Panier == 0) { // Show if recordset empty ?>
            <input name="client" type="hidden" id="client" value="<?php echo $_SESSION['MM_Username']; ?>" />
            <input name="article" type="hidden" id="article" value="<?php echo $row_Recordset2['id']; ?>" />
            <input name="quantite" type="hidden" id="quantite" value="1" />
            <label>
              <input type="submit" name="button2" id="button2" value="Ajouter dans Mes suivis" />
            </label>
            <p>
              <input type="hidden" name="MM_insert" value="Achat" />
            </p>
            <?php } // Show if recordset empty ?>
          <p>&nbsp;</p>
          <?php if ($totalRows_Panier > 0) { // Show if recordset not empty ?>
              <div class="Style29" id="apDiv25">
              Dans Mes Suivis</div>
            <?php } // Show if recordset not empty ?>
          <p>&nbsp;</p>
        </form></div>
    <?php } }
    ?>
    www.masterquizz.fr - Ne vous posez plus de questions

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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