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 :

conserver une requete pour la cumuler a un filtre de tri


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 56
    Points : 30
    Points
    30
    Par défaut conserver une requete pour la cumuler a un filtre de tri
    bonjour,

    Je vous écris car j'ai grand besoin de votre aide pour un problème qui m'obsède et pour lequel je ne trouve pas de solutions =(
    Aussi je vous remerci d'avance pour toute l'aide que vous pourrez m'apporter , c'est un projet qui me tient a coeur et ca me tue de pas pouvoir avancer dessus

    Pour vous expliquer clairement mon probleme j'ai une page dédiée au tv.
    sur cette page j'ai un premier formulaire en POST avec des menus deroulants qui me permet de faire un premier tri par marque, taille,resolution etc ...
    jusquici tout fonctionne parfaitement.

    Mais voila , une fois mon premier niveau de rechercher effectué, j'aurais aimé conserver ce premier niveau de recherche pour faire ensuite un deuxième tris par prix, marque, et avis... (à partir du resultat de la premiere requete)
    j'ai donc cree 3 boutons qui envoie en GET le choix de l'internaute quand à son choix de tris secondaire

    Tout sélectionner
    <div id='tris'><a href="/?order=marque"> </a><a href="/?order=avis"> </a><a href="/?order=prix"> </a></div>



    Or j'ai beau faire, une fois que j'effectue une premiere selection (ex rechercher une tv de la marque lG), pas moyen de cumuler ce resultat avec un dernier filtre de tri par marque , avis , ou prix =((

    Pour vous aider à y voir claire je vous ai mis en pièce jointe mon code
    Tout sélectionner
    #*********************************************************************************
    # FILTRE DE TRI DU SECOND NIVEAU
    #*********************************************************************************
    $listTri= array ('marque','avis','prix');
    $aList = array();

    foreach ($listTri as $selectTri) {

    if (isset($_GET['order'])&& ($_GET['order'] == $selectTri)) {

    $aList[] = $selectTri ;
    }
    }

    if(count($aList) > 0) {
    $sWhereList = 'ORDER BY `'.implode($aList).'` ASC';
    $tri=1;

    }

    #*********************************************************************************
    # FILTRE DE TRI DU PREMIER NIVEAU AVEC LES MENUS DEROULANT
    #*********************************************************************************
    if ($flag == 1) {



    $aCols = array('frequence','marque','technologie','taille','resolution','ports');
    // Tableau de stockage des conditions de tri
    $aWhere = array();
    // Chaine de la clause WHERE de la requête.
    $sWhere = null;
    foreach ($aCols as $col) {

    if (isset($_POST[$col]) && ($_POST[$col] != $col)) {
    $aWhere[] = " `". $col ."` = '". $_POST[$col] ."' ";
    }
    }

    if(count($aWhere) > 0) {
    $sWhere = ' WHERE '. implode(' AND ', $aWhere);
    }

    //C'est la que mon filtre de second niveau ne se cumule pas =( car une fois que je valide le formulaire de premier niveau (Ppour faire une recherche par marque elle semble disparaitre)
    $sql = "SELECT * FROM `tv`". $sWhere."GROUP BY `modele` ".$sWhereList;


    } else {//si flag !=1
    $sql= "SELECT * FROM `tv` GROUP BY `modele`".$sWhereList;


    }

    if($sql) {

    $afficheProduct = mysql_query($sql) or die("Erreur lors de la requête SQL
    \nRequête : <pre>". $sql ."</pre>\nCode d'erreur : ". mysql_errno() ."
    \nMessage : ". mysql_error());


    while ($donneesTV = mysql_fetch_array($afficheProduct)) {
    //et la j'affiche mes tvs
    }

    }



    je suis complètement desespéré je ne vois pas pourquoi cela ne marche pas =(((

    svp aidez moi

  2. #2
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour,

    Le formulaire envoie par POST ou par GET?

    Bien cordialement,

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    bonjour,

    le premier formulaire avec les filtres resolution, marque , taille est en post

    tandis que l'autres est en get

    merci d'avance

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/07/2006, 10h12
  2. [Debutant]creer une requete pour une liste deroulante
    Par torNAdE dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/07/2006, 15h22
  3. Comment modifie une requete pour avoir des sommes?
    Par F@ce27 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 16/06/2006, 13h47
  4. [VB6]créer une requete pour chercher une partie d'un mot
    Par aibar dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/06/2006, 21h38
  5. [VBA-E] Conserver une variable pour plusieurs modules
    Par pilote301152 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/05/2006, 13h14

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