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 :

[Système] probleme dans la structure if/elseif/else


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Par défaut [Système] probleme dans la structure if/elseif/else
    Je me sers du code suivant pour effectuer une recherche multi-critère suivant des paramètres.
    Le probleme est que ma requete par defaut s'execute pas pourtant je pense avoir bien imbriqué mes boucles.
    Merci pour votre aide

    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
     
    //si la recherche est éffectuée selon l'artiste
    	 if (isset($artiste))
    	 { 
    	 $requete = "Select * from musiquetitre where nomartiste ='$artiste' limit $idebut,$NbElementParPage";	 
    	 }   
    	 elseif (isset($album))//selon l'album
    	 { 
    	 $requete = "Select * from musiquetitre where album ='$album' limit $idebut,$NbElementParPage";	 
    	 }
    	 elseif (isset($titre))//si la recherche est éffectuée sur le titre
    	 { 
    	 $requete = "Select * from musiquetitre where libtitre ='$titre' limit $idebut,$NbElementParPage";	 
    	 }
    	 else
    	 { 
    	 //la requete par defaut
    	 $requete = "Select * from musiquetitre limit $idebut,$NbElementParPage";	
    	 }

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2005
    Messages : 93
    Par défaut
    Ce code marche. T'es sûr que $artiste ou $album est bien setté? Fais-voir des echo $artiste juste avant....Genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //si la recherche est éffectuée selon l'artiste
    echo "artiste: $artiste";
    echo "album: $album";
    echo "titre: $titre";
    if (isset($artiste))
      $requete = "Select * from musiquetitre where nomartiste ='$artiste' limit $idebut, $NbElementParPage";   
    elseif (isset($album))//selon l'album
      $requete = "Select * from musiquetitre where album ='$album' limit $idebut, $NbElementParPage";   
    elseif (isset($titre))//si la recherche est éffectuée sur le titre
      $requete = "Select * from musiquetitre where libtitre ='$titre' limit $idebut,$NbElementParPage";   
    else
      $requete = "Select * from musiquetitre limit $idebut, $NbElementParPage";
     
    echo $requete;
    Avec ce code c'est résolution "clé en main"

  3. #3
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Il faudrait peut etre exécuté tes requetes avec mysql_query non ?

    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
     
     <?php
     if (isset($artiste)){
        $requete = "Select * from musiquetitre where nomartiste ='$artiste' limit $idebut,$NbElementParPage";  
    	mysql_query($requete);
    }   
    elseif(isset($album)){
        $requete = "Select * from musiquetitre where album ='$album' limit $idebut,$NbElementParPage";
    	mysql_query($requete);
    }
    elseif (isset($titre)){
        $requete = "Select * from musiquetitre where libtitre ='$titre' limit $idebut,$NbElementParPage"; 
    	mysql_query($requete);
    }
    else{
        //la requete par defaut
        $requete = "Select * from musiquetitre limit $idebut,$NbElementParPage"; 
    	mysql_query($requete);
    }
     
    ?>

  4. #4
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    euhhh, le mysql_query($requete); il serait pas mieux après la dernière accolade, histoire de faire light ??

    sinon, fait un exho de ta requête après la dernière acolade, et teste tout les cas, pour voir si ca te génère bien la bonne requête à chaque fois...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    Tes requetes et tes conditions sont correctes (bien que je sortirais les variables des chaines de caractère... m'enfin...)

    Vérifie, comme déjà dis, que tes variables sont correctement paramétrées.
    Attention aux apostrophes dans les variables, si une fonction ne le fait pas au préalable, pense a addslashes()

  6. #6
    Membre éclairé Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Par défaut
    Citation Envoyé par titoumimi
    euhhh, le mysql_query($requete); il serait pas mieux après la dernière accolade, histoire de faire light ??
    si si bien sur mais j'ai fait ca vite fait pour essayer de l'aider j'ai aps réfléchit a l'optimisation

  7. #7
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Et puis je sortirais les variables de la chaine :

    <?php
    $requete&#160;
    =&#160;"Select&#160;*&#160;from&#160;musiquetitre&#160;where&#160;nomartiste&#160;='"&#160;.&#160;$artiste&#160;.&#160;"'&#160;limit&#160;"&#160;.&#160;$idebut&#160;.&#160;","&#160;.&#160;$NbElementParPage&#160;;
    ?>

    Phpsyntaxcolor powered by decabodi.com
    Euh... il est où samsso2005 ?

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Par défaut
    macbook, tu me répètes

  9. #9
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Citation Envoyé par Sion_Sempai
    macbook, tu me répètes
    Sion_Sempai j'avais pas lu...

  10. #10
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Par défaut
    je teste vos propositions et je vous fait signe

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

Discussions similaires

  1. [XSLT 1.0] probleme dans une structure xsl
    Par xps1616 dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 27/03/2011, 17h36
  2. problem de chaine de caractere dans une structure
    Par lenetfm dans le forum Débuter
    Réponses: 11
    Dernier message: 18/04/2008, 08h25
  3. Réponses: 12
    Dernier message: 25/04/2007, 11h36
  4. Réponses: 6
    Dernier message: 17/11/2006, 10h31
  5. [Système]Probleme avec un chemin dans cmd.exe
    Par Sarrus dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 14/09/2005, 08h31

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