PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 20-10-2010 23:39:45

ammesiah
Membre
Inscription : 13-11-2009
Messages : 14

[aide] extraire un prix avec un poids

Bonjour,

J'ai rechercher un peu partout et j'ai un peu du mal à trouver je tourne en rond avec ma requête tongue Si quelqu'un avait une idée ou une solution cela m'aiderais bien ^^

Voila j'ai un formulaire (devis) en fin je dois calculé le prix total d'une commande avec les frais de port et comme ce sont des tarifs de poste ça ce présente ainsi

0 > 500g 5.49 Euro
500 > 1000g 6.50 Euros
Etc...

donc ma requête ce présent ainsi :

$selectFP = "select * from poids_frais_port Where poids_mini >= '$total12' AND poids_max <= '$total12'";
$resultFP = mysql_query($selectFP) or die (''.mysql_error() );
while($rowFP = mysql_fetch_array($resultFP)) { $normal=$rowFP['normal'];

dans le cas ou ma commande fait 800g j'espérais qu'il me donne le tarifs 6.50 Euros mais la il ne me donne rien du tout si je met Or au lieu de And j'ai toutes la liste des tarifs ce qui ne m'arrange pas tongue  J'imagine que beaucoup ont du être confronté à ce genre de besoin donc si un petit coup de pouce était possible^^

D'avance merci

Amme

Hors ligne

#2 21-10-2010 01:48:50

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : [aide] extraire un prix avec un poids

quelle est la valeur de $total12 ?
a++

Hors ligne

#3 21-10-2010 02:01:50

ammesiah
Membre
Inscription : 13-11-2009
Messages : 14

Re : [aide] extraire un prix avec un poids

Bonsoir Pierrot

La valeur de $total12 et le total en gramme de la commande celle-ci peuvent varier de 200g à 3400g en fonction du nombre (de livre) donc ça pourrait être 800g comme dans l'exemple donner (il n'y a pas le g dans la valeur je le précise juste pour rappeler que ce sont des grammes tongue )

J'ai essayer juste ça

Where poids_mini >= '$total12'";

ou

Where  poids_max <= '$total12'";

et dans les deux cas ça me donne une liste avec tous les prix = ou en dessous ou au dessus en fonction du where choisi c'est quand j'associe les deux dans la même requête que ça va plus sad

Cordialement.

Amm

Hors ligne

#4 21-10-2010 03:33:14

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : [aide] extraire un prix avec un poids

Donne moi la structure de ta table .
a++

Hors ligne

#5 21-10-2010 10:48:50

ammesiah
Membre
Inscription : 13-11-2009
Messages : 14

Re : [aide] extraire un prix avec un poids

Bonjour Pierrot

Effectivement j'y ais penser une fois couché que j'aurais peut être du mettre la structure de ma table je soupçonne que mes deux champs ne soient pas valide au départ il étaient tous les deux en varchar et j'ai changer pour mediumint mais ça n'a rien changé.

id_rapport       int(11)                                                   Non   
poids_mini      mediumint(9)                                       Oui      NULL           
poids_max      mediumint(9)                                         Oui      NULL           
normal          varchar(255)     latin1_swedish_ci           Oui      NULL
R1                      varchar(255)     latin1_swedish_ci           Non            
colissimo      varchar(255)     latin1_swedish_ci           Oui      NULL     
divers1              varchar(255)     latin1_swedish_ci           Oui      NULL 
divers2              varchar(255)     latin1_swedish_ci           Oui      NULL      

pour l'instant seul les champs poids_mini, poids_max, normal, colissimo sont utiliser.

Cordialement.

Amm

Dernière modification par ammesiah (21-10-2010 12:03:10)

Hors ligne

#6 21-10-2010 15:59:41

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : [aide] extraire un prix avec un poids

Bonjour,

Si le gramme est la plus petite unité de mesure que tu dois gérer, ton mediumint est suffisant, mais dans ce cas il faut considérer que toutes les valeurs enregistrées dans ta table sont des grammes. A toi de faire les conversions d'unité de mesure dans ton appli.
Ensuite il faut t'assurer que $total12 soit un entier non null et non une chaîne de caractères contenant un entier pour faire ta comparaison dans ton code php.
Ensuite si le champ <normal> représente le montant en Euros à payer pour un intervalle de poids donné, il faut le définir en decimal (decimal(6,2) par exemple.)

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 23-10-2010 12:10:12

ammesiah
Membre
Inscription : 13-11-2009
Messages : 14

Re : [aide] extraire un prix avec un poids

Bonjour à tous

J'ai trouver comment réglé mon soucis

voici la requête après modification :

$selectFP = "select * from poids_frais_port Where poids_mini <'$total12' And poids_max >'$total12'";
$resultFP = mysql_query($selectFP) or die (''.mysql_error() );
while($rowFP = mysql_fetch_array($resultFP)) { $normal=$rowFP['normal']; }

Pour moi cette requête est complétement illogique mais elle fonction très bien à une seule condition c'est qu'il n'y ait pas de valeur identique dans le mini et dans le max


ce qu'il ne faut pas faire
     0 à 500
  500 à 1000
1000 à 1500

ce qu'il faut mettre
      0 à 499
  500 à 999
1000 à 1499
etc..

Voila si ça peu rendre service.

Par contre y à t'il moyen d'avoir une vrai relecture d'une requête car j'ai un soucis je m'explique dans ma page devis j'ai possibilité de supprimer des lignes donc la suppression ce fait bien et la page revient bien sur le devis modifier mais si je clique sur le bouton qui me permet de voir mon devis et bien le devis réapparait avec encore la ligne normalement supprimer il me faut cliquer 3 ou 4 fois sur le bouton pour enfin voir mon devis sans la ligne c'est comme si sql gardait des résultats qui n'ont plus lieu d'être.

D'avance merci.

amm

Hors ligne

#8 23-10-2010 18:43:29

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : [aide] extraire un prix avec un poids

Bonjour,

Pour que ça marche avec des plages de 0 à 500, 500 à 1000 etc il faut changer la clause where en conséquence :

$selectFP = " SELECT ... FROM poids_frais_port WHERE poids_mini < '$total12' AND poids_max >= '$total12'";

POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums