login  Naam:   Wachtwoord: 
Registreer je!
 Forum

uitgebreid zoeken

Offline kenzo - 08/12/2007 13:13
Avatar van kenzoPHP beginner Hallo,

Ik ben bezig met een uitgebreid zoeken script, maar de prijs (van tot) werkt niet echt.


Ik probeer dat als je het veld leeg laat hij er niets mee doet, en als je het invult zoekt hij naar dingen die de prijs hebben van (ingevulde waarde), tot (ingevulde waarde).

Maar als ik alleen van invul moet hij het ook doen, en tot buiten gebruik laten (en omgekeerd).

Dit is de code, maar het werkt niet.
Veld prijsvan = de veldnaam van de prijs Van
Veld prijstot = de veldnaam van de prijs Tot


Code:

  1. $prijsvan = sprintf('%01.2f', $_POST['prijsvan']);
  2. if(empty($prijsvan)) {
  3. $prijsvanlist = "";
  4. }
  5. else
  6. {
  7. $prijsvanlist = "AND prijs > '$prijsvan' ";
  8. }
  9.  
  10. $prijstot = sprintf('%01.2f', $_POST['prijstot']);
  11. if(empty($prijstot)) {
  12. $prijstotlist = "";
  13. }
  14. else
  15. {
  16. $prijstotlist = "AND prijs < '$prijstot' ";
  17. }



Zoek query


  1. $query = mysql_query("SELECT * FROM `cms_producten` WHERE type LIKE '%$zoek%' OR merk LIKE '%$zoek%' $categoriezoek $prijsvanlist $prijstotlist ORDER BY prijs ASC")or die(mysql_error());

5 antwoorden

Gesponsorde links
Offline devilman - 08/12/2007 14:51
Avatar van devilman HTML interesse
  1. $prijsvan = sprintf('%01.2f', $_POST['prijsvan']);
  2. $prijstot = sprintf('%01.2f', $_POST['prijstot']);
  3.  
  4. if(empty($prijsvan) and empty($prijstot) ){
  5. $query = mysql_query("Zoeken naar alle gegevens");
  6. }elseif(empty($prijstot)){
  7. $query = mysql_query("Zoeken naar alle gegevens vanaf de begin prijs");
  8. }elseif(empty($prijsvan)){
  9. $query = mysql_query("Zoeken naar alle gegevens tot aan de eindprijs");
  10. }else{
  11. $query = mysql_query("Zoeken naar alle gegevens van beginprijs tot eindprijs");
  12. }


probeer zo eens?
Offline ranco - 08/12/2007 14:59
Avatar van ranco PHP gevorderde Zoiezo je strings escapen:

  1. $query = mysql_query("SELECT * FROM `cms_producten` WHERE type LIKE '%".$zoek."%' OR merk LIKE '%."$zoek."%' ".$categoriezoek. $prijsvanlist. $prijstotlist." ORDER BY prijs ASC")or die(mysql_error());
Offline kenzo - 15/12/2007 09:43 (laatste wijziging 15/12/2007 14:58)
Avatar van kenzo PHP beginner Nee, werkt ook niet?

hij zoekt nu niet (zoekt wel, maar vind geen resultaten) als ik geen prijs invul


Hij vindt helemaal niets... ook niet als ik wel wat invul??

Weet iemand hoe dat kan?




edit //


Wat doet &&, of || ?????

hoe kan ik zoeken naar iets (bijvoorbeeld titel), en als de prijs is ingevuld ook daarna, maar ook nog naar de titel?
Offline ranco - 15/12/2007 15:43
Avatar van ranco PHP gevorderde && houdt in dat hij bevoorbeeld een if-statement aan meerdere zaken moet worden voldaan: (Het is dus gewoon een AND)

if (bakje = gevuldmetfriet && bakje = frietmetmayo)...

enz.
De || is een OR:
if (bakje = gevuldmetfriet || (of) bakje = gevuldmetfrikandellen)
Offline kenzo - 15/12/2007 16:41
Avatar van kenzo PHP beginner en wat kan ik dus gebruiken voor prijsvan en prijstot te gebruiken?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.208s