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 :

[Tableaux] soucis avec $_get[' '];


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut [Tableaux] soucis avec $_get[' '];
    bonjour,

    je suis en train d'essayer de faire un affichage avec choix de tri...

    donc ma page affiche des tas de nom et de catégorie via une requete mysql et j'aimerai qu'en cliquant sur l'intitulé nom ou catégorie ça me tri par nom ou par catégorie...

    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
     
    // si on choisi de trier
     
    if (isset($_GET['tri']))
    {$tri = $_GET['tri'];
    $requete = mysql_query("SELECT * FROM personnel ORDER BY $tri");
    }
    // sinon l'état initial 
     
    else
    {$tri = $_GET['tri'];
    $requete = mysql_query("SELECT * FROM personnel ORDER BY nom");
    }
     
    $i=0;
     
    echo "<table><tr><td border='1'><a href='personnel.php?tri=$tri;>tri par nom</a></td><a href='personnel.php?tri=$tri;><td>tri par categorie</td></a><tr>";
    // on va chercher les données
     
    while ($data = mysql_fetch_array($requete))
    {
      echo "
    		<tr>
    		<td><span='titre'>".$data['categorie']."</span></td>
    		<td onclick=\"javascript:fermetout('photo$i');\">".$data['nom']."</td>
    		 <td><img id = \"photo$i\" name=\"photo$i\" style='visibility:hidden'; src=".$data['photo']." /></td>
    		 </tr>
          ";
    $i++;
    }
    echo "</table>";
    ?>
    j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\wamp\www\rogervercel\personnel.php on line 40
    donc mon order by n'est pas pris en compte...
    j'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='personnel.php?tri=$tri;>tri par nom</a></td><a href='personnel.php?tri=nom;>
    mais ça marche toujours pas...
    j'utilise que très rarement les variables $get et je sais pas trop m'en servir...

    merci de votre aide ;-)

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonjour,
    D'après le message d'erreur, tu as une erreur dans ta requête. je dirais que cela provient de ta variable $tri.

    Le problème n'est pas le $_get mais plutôt ce que celle-ci contient ?

    A quoi ressemble ta requête avant exécution

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    si je clique sur trier par nom elle contient nom et si je clique sur catégorie elle doit contenir catégorie....

  4. #4
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut Akram
    bonjour
    voila le code que t'as saisi:
    la requete
    SELECT * FROM personnel ORDER BY $tri

    je crois que tu dois mettre
    SELECT * FROM personnel ORDER BY nom='$tri'

    SELECT * FROM personnel ORDER BY nom='$tri'

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Par défaut
    A mon avis,

    if (isset($_GET['tri']))
    {$tri = $_GET['tri'];
    $requete = mysql_query("SELECT * FROM personnel ORDER BY $tri");
    }
    // sinon l'état initial

    else
    {$tri = $_GET['tri'];
    $requete = mysql_query("SELECT * FROM personnel ORDER BY nom");
    }
    L'affectation de $tri dans la condition else n'est pas utile et s'en doute la cause de ton problème, tu devrais la supprimer.
    Car en effet si tu passes dans la condition else c'est que $_get['tri'] n'est pas instancié d'où le problème de l'affectation à une autre variable

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    Citation Envoyé par tazmania
    A mon avis,



    L'affectation de $tri dans la condition else n'est pas utile et s'en doute la cause de ton problème, tu devrais la supprimer.
    Car en effet si tu passes dans la condition else c'est que $_get['tri'] n'est pas instancié d'où le problème de l'affectation à une autre variable
    oui j'ai supprimé mais toujours le meme problème, je pense que ça vient de ma table même...

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    non ça ne vient pas de ça sinon la requete serait mauvaise order by nom = nom ce n'est pas bon...
    le problème c'est que (je viens de m'apercevoir) dans mon url j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tri=nom%3Etri%20par%20nom%3C/a%3E%3C/td%3E%20%20%20%20%20%20%20%3Ctd%3E%3Ca%20href=
    et si je laisse juste tri=nom ça marche

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

Discussions similaires

  1. [Tableaux] souci avec array_push sous firefox
    Par gregetso dans le forum Langage
    Réponses: 4
    Dernier message: 02/02/2009, 14h16
  2. [Tableaux] Soucis avec foreach
    Par maysa dans le forum Langage
    Réponses: 4
    Dernier message: 02/10/2007, 12h38
  3. [Tableaux] Soucis avec array_map
    Par dunbar dans le forum Langage
    Réponses: 18
    Dernier message: 02/09/2006, 08h23
  4. [Tableaux] Souci avec array_push()
    Par renaud26 dans le forum Langage
    Réponses: 1
    Dernier message: 28/07/2006, 14h00
  5. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h13

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