PHP Probleme concatenation
Résolu/Fermé
G4uthier
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
-
27 avril 2008 à 15:21
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 - 28 avril 2008 à 11:50
G4uthier Messages postés 131 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 23 juillet 2009 - 28 avril 2008 à 11:50
A voir également:
- PHP Probleme concatenation
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Php?id=1 - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
4 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
27 avril 2008 à 16:02
27 avril 2008 à 16:02
Bonjour,
tu n'as pas une erreur de concaténation mais
tu n'as pas une erreur de concaténation mais
foreach($Price as $key =>$value){ if($value==$priceSave){
G4uthier
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
7
27 avril 2008 à 16:16
27 avril 2008 à 16:16
c'est pas la valeur que je veux prendre en fait dans mon priceSave.
il sert juste à retenir le prix selectionné par l'utilistaeur dans sa liste déroulante.
La valeur de ma liste déroulante va servir dans ma requete:
$query = "SELECT * FROM $table1 WHERE "."$_POST[mavaleurdelistederoulant]"." ORDER BY id ASC LIMIT $resultLimit, 3";
il sert juste à retenir le prix selectionné par l'utilistaeur dans sa liste déroulante.
La valeur de ma liste déroulante va servir dans ma requete:
$query = "SELECT * FROM $table1 WHERE "."$_POST[mavaleurdelistederoulant]"." ORDER BY id ASC LIMIT $resultLimit, 3";
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
27 avril 2008 à 19:58
27 avril 2008 à 19:58
Oui d'accord mais quand tu mets:
foreach($Price as $key =>$value){
if($Price==$priceSave){
$Price est un array donc tu ne peux pas le comparer par ton if à une valeur
il faut bien que la boucle du foreach compare chaque valeur de l'array (donc $value) à $priceSave
et pour ta requette:
si ta liste est
<select name="selection">
............
foreach($Price as $key =>$value){
if($Price==$priceSave){
$Price est un array donc tu ne peux pas le comparer par ton if à une valeur
il faut bien que la boucle du foreach compare chaque valeur de l'array (donc $value) à $priceSave
et pour ta requette:
si ta liste est
<select name="selection">
............
$query = "SELECT * FROM $table1 WHERE ton_champ_prix='".$_POST['selection']."' ORDER BY id ASC LIMIT $resultLimit, 3";
G4uthier
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
7
27 avril 2008 à 21:17
27 avril 2008 à 21:17
ok mais j'ai toujours mon probleme avec ma liste déroulante j'ai mis le liens dans le poste d'avant.
Je voudrais une liste deroulant dans laquelle figure: £400-£499 ;£500-599;£600-699;>£700
Je voudrais une liste deroulant dans laquelle figure: £400-£499 ;£500-599;£600-699;>£700
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 avril 2008 à 10:01
28 avril 2008 à 10:01
Salut,
Tu ne peux pas mettre dans les valeurs de ton array des signes qui sont interprétés par le php comme < =
En faisant ainsi ça marche pour ta liste mais ensuite je ne vois pas comme tu vas exploiter la valeur renvoyée ?
Et si tu faisait ton array ainsi (avec des tranches):
ensuite tu fais un switch case sur la valeur renvoyée
et tu en déduis tes opérateurs
Tu ne peux pas mettre dans les valeurs de ton array des signes qui sont interprétés par le php comme < =
En faisant ainsi ça marche pour ta liste mais ensuite je ne vois pas comme tu vas exploiter la valeur renvoyée ?
$Price=array("£400 - £499"=>"price '>='400 && price '<='499 ","£500 - £599"=>"price '>='500 && price '<='599" ,"£600 - £699"=>"price '>='600 && price '<='699","£700+"=>"price '>'700"); $priceSave=""; echo "<select>"; $OptionPrice=''; // c'est bidon juste pour que chez moi ça marche foreach($Price as $key =>$value){ if($value==$priceSave){ $selected=' selected="selected"'; }else{ $selected=''; } $OptionPrice .= "<option ".$selected." value=".$value.">".$key."</option>\n"; //echo "la clé est $key : $value.\n"; echo $OptionPrice; } echo "</select>";
Et si tu faisait ton array ainsi (avec des tranches):
$Price=array("£400 - £499"=>"T1","£500 - £599"=>"T2" ,"£600 - £699"=>"T3","£700+"=>"T4");
ensuite tu fais un switch case sur la valeur renvoyée
et tu en déduis tes opérateurs
G4uthier
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
7
>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
28 avril 2008 à 11:50
28 avril 2008 à 11:50
je te remercie beaucoup alain comme ceci ca fonctionne :)
27 avril 2008 à 16:04
pricela clé est £400 - £499 : price >=400 && price <=499 . la clé est £500 - £599 : price >=500 && price <=599. la clé est £600 - £699 : price >=600 && price <=699. la clé est £700+ : price >700. (c'est le echo que j ai mis en commentaire)
https://www.imagup.com