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 :

Créer un outil de recherche en fonction de différents critères


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Points : 98
    Points
    98
    Par défaut Créer un outil de recherche en fonction de différents critères
    Bonjour,

    Je souhaiterais depuis un tableau créer un outil de recherche de produit.

    sous le même principe que le drill-down mais moins poussé, je bloque techniquement.

    En faite je veux découpé mon outil de recherche en X catégories, par exemple
    Pour des voitures

    Catégorie 1:
    Berline,
    Coupée,
    Cabriolet,
    4x4,
    Monospace,

    Catégorie 2 :
    Essence
    Diesel

    Catégorie 3
    <130 ch
    >130 ch

    Avec la possibilité de sélectionner ou non l'option de chaque catégorie, le but aussi est de penser référencement, en appliquant pour chaque catégorie une url spécifique qui s'ajoute a l'url, donc fonctionnement en GET.

    Donc en gérant les les informations affichées dans un tableau.

    Par exemple :
    $a = array(1 => 'Berline', 2 => 'Coupée', 3 => 'Cabriolet', 4 => '4x4', 5 => 'Monospace');
    $b = array(1 => 'Essence', 2 => 'Diesel');

    $aurl = array(1 => 'voiture-berline', 2 => 'voiture-coupee', 3 => 'voiture-voiture-cabriolet', 4 => '4x4', 5 => 'voiture-monospace');
    $burl = array(1 => 'carburant-essence', 2 => 'carburant-diesel');

    Si je sélectionne Berline, je voudrais qu'il soit en <strong> (sélectionné) avec la possibilité de le désélectionner,

    Si je sélectionne Berline et Essence, les 2 sont sélectionnés, avec toujours la possibilité de désélectionner l'un ou l'autre.
    L'url se construit avec les informations sélectionnés :

    par exemple :
    rechercher.php?aurl=voiture-berline&burl=carburant-essence

    Avec la possibilité de faire la même chose sur 5 ou 6 catégorie...

    Enfin je cherche à faire quelque chose assez compliqué, je ne trouve la logique pour le faire. Connaissez vous un script qui permettrait de faire cela ?
    Avec éventuellement la possibilité de travailler avec une base de donnée pour effectuer un outil plus puissant ...

    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 770
    Points : 5 510
    Points
    5 510
    Par défaut
    Le plus simple est de créer trois liste déroulantes (1 pour chaque catégorie) et de mettre les options que tu as énuméré dans les listes correspondante.
    Il va falloir veiller à mettre une premiere option à vide dans chaque liste pour que l'utilisateur puisse déselectioner une catégorie

    Ensuite lorsque tu fera ta recherche il te suffira de tester chaque catégorie. Si une catégorie est nulle, tu n'effectue pas ta recherche dessus.

    Je te laisse regarder les tutos sur les bases de données mais dans le principe ca donne ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $SQL = 'SELECT * FROM VEHICULE '
    Si ($cat1 <> '') Alors $WHERE = 'V_CAT1="'. $cat1.'"' Fin Si
    Si ($cat2 <> '') Alors
       Si ($WHERE <> '') ALORS $WHERE = $WHERE.' AND V_CAT2='"'.$cat2.'"'
                               SINON  $WHERE = 'V_CAT2="'. $cat2.'"'
    Fin Si
    Si ($cat3 <> '') Alors
       Si ($WHERE <> '') ALORS $WHERE = $WHERE.' AND V_CAT3='"'.$cat3.'"'
                               SINON  $WHERE = 'V_CAT3="'. $cat3.'"'
    Fin Si 
    SI ($WHERE <> '') ALORS $SQL = $SQL + $WHERE FIN SI
    Désolé j'ai fait ça vite et en plus c'est sous forme d'algo mais c'est déjà une piste

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    Merci pour votre réponse, cependant ce n'est pas ce que je cherche, c'est plutôt comment gérer l'affichage des des listes, comment construire l'url :
    - ajout dans une catégorie d'une valeur en cliquant dessus
    - la retirer si l'on clique dessus à nouveau.
    - si l'on clique sur une autre catégorie, l'option s'ajoute....

    Sauf que je voudrais pas travailler avec un formulaire et aussi la possibilité de travailler les url car dans ce cas seulement les nom des boutons sont récupérés.

Discussions similaires

  1. [Toutes versions] Faire apparaître un message dans une cellule en fonction de différents critères
    Par niiiiiiiiiico dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 26/04/2013, 14h43
  2. [XL-2003] recherche en fonction de 2 critères
    Par novice06 dans le forum Excel
    Réponses: 4
    Dernier message: 01/06/2011, 15h11
  3. [XL-2007] recherche en fonction d'un critère
    Par GingermaN dans le forum Excel
    Réponses: 4
    Dernier message: 28/10/2010, 14h34
  4. Recherche en fonction de 2 critères
    Par warrio67 dans le forum Excel
    Réponses: 1
    Dernier message: 02/07/2010, 11h34

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