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

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Points : 18
    Points
    18
    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 régulier
    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
    Points : 87
    Points
    87
    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 actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    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
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    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...

  5. #5
    Membre averti
    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
    Points : 300
    Points
    300
    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 actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    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 éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    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 averti
    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
    Points : 300
    Points
    300
    Par défaut
    macbook, tu me répètes

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

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 22
    Points : 18
    Points
    18
    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