menu selection par prix

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : menu selection par prix

par Chile » 25 oct. 2006, 23:28

J'ai mis le temps mais ça y'est !!
merci Truc...

par Truc » 08 oct. 2006, 18:10

La ils passent par des liens et un apramètre qui sert de fourchette "range"...
range 0 = "0 AND 20"
range 1 = "20 AND 30"
...

Et dans le script tu détailles avec un switch (pour faire court... sinon tu peux aussi stocker ces données en BD pour plus se souplesse dans le cas d'ajouts de nouvelles foucrchettes... mais ça c'est après avoir compris le fonctionnement de ce bazar :wink: )

Tu aura donc:
<?php
$query. = "SELECT champ FROM table WHERE prix ";
switch($_GET['range'])
{
   case 0 : $query. = "BETWEEN 0 AND 20";
                break;
   case 1 : $query. = "BETWEEN 20 AND 30";
                break;
   ....

   case 4 : $query. = " > 50";
                break;
}
$res = mysql_query($query);
?>
sauf pour la dernière fourchette qui prend tout ce qui est superieur à 50 (ou autre)

par Chile » 08 oct. 2006, 17:47

salut Truc,
merci pour toutes ces infos et la doc.
par contre comment puis je faire sans formulaire ?
voici un exemple de ce que je recherche a faire
http://www.andesbeauty.com/catalog/inde ... anguage=fr
le choix par prix se trouve a gauche (le deuxieme).

par Truc » 08 oct. 2006, 16:43

La doc

C'est simple..... une liste toute simple.. tu sais faire :)
En "value" les bornes min et max
Tu valide le formulaire
Récupération des données en POST ou GET (comme tout formulaire)
-> la variable contient donc soit "0 AND 20" soit "20 AND 30" ....

C'est donc exactement ce qu'attend BETWEEN suffit donc de construire la requête avec le bout reçu du formulaire.

Donc une seule page et une seule requête qui est construite dynamiquement.

Qu'as tu pas saisi au juste ?

par Chile » 08 oct. 2006, 16:34

salut,
merci Truc :wink:

ben j'ai pas réussi `intégrer le fameux between, alors je me suis débrouiller comme ça :
un peit menu prix en texte (sans formulaire) avec 4 poss de choix. le premier:

Code : Tout sélectionner

prix_ttc=15
la requete sur une page nommé rub_prix

Code : Tout sélectionner

$query_enr_prix = sprintf("SELECT * FROM shop_produits WHERE prix_ttc < %s", $colname_enr_prix);
le second:
l'appel simplement d ela page rub_prix2
puis la requete sur la page

Code : Tout sélectionner

$query_enr_prix = sprintf("SELECT * FROM shop_produits WHERE prix_ttc >=15 AND prix_ttc <=30", $colname_enr_prix);
ainsi de suite j'usqu'a la derniere. Je sais que c'est pas le top...une page pour chaque requete ! mais si qlq peut m'expliquer un peu + la méthode beween, je suis preneur :wink:
merci

par Truc » 08 oct. 2006, 01:13

Salut,
La sélection s'effectuera depuis la requête je suppose.

Admettons que tu as une liste déroulante <select> avec ces valeurs:
<select name="choix">
<option value="0 AND 20">En dessous de 20 euros</option>
<option value="20 AND 30">De 20 euros à 30 euros</option>
<option value="30 AND 40">De 30 euros à 40 euros</option>
</select>
Traitement avec "BETWEEN" qui sélectionne les valeurs comprises entre les deux bornes:
$query="SELECT donnees FROM table WHERE prix BETWEEN  ".$_POST['choix'];

menu selection par prix

par Chile » 08 oct. 2006, 00:54

Bonjour,
Je suis en train de realiser un site de vente en ligne.
Je voudrais proposer au visiteur une recherche par gamme de prix.
par exemple :
En dessous de 20 euros
De 20 euros à 30 euros
De 30 euros à 40 euros
De 40 euros à 50 euros
Au dessus de 50 euros

Dois je developper ceci a l'aide d'un jeu d'enregistrement avancé (j'utilise DW :? )?
et qlq pourrait m'en dire un peu plus les lignes de code,
pour le premier ca doit etre <20, le dernier >50...mais les autres :?

j'ai recherché sur le forum un sujet traitant mon probleme, mais pas trouvé
merci de votre aide