login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoeken op prijs

Offline kenzo - 27/12/2007 14:02
Avatar van kenzoPHP beginner Hallo,

Weet iemand hoe ik een zoekmachine kan maken waar ik binnen een prijs kan zoeken?

Ik heb in een database het veld prijs, en ik wil dat ik vanaf een bepaalde prijs kan zoeken, tot een bepaalde prijs kan zoeken, en natuurlijk vanaf een bepaalde prijs tot een bepaalde prijs.


Wie wil mij daar bij helpen?

Bedankt!

8 antwoorden

Gesponsorde links
Offline Rik - 27/12/2007 14:16
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ergens in je formulier die prijzen in vullen en dan iets als "WHERE price >= $ondergrens AND price <= $bovenbrens" in je query zetten.
Offline Flex1986 - 27/12/2007 14:20
Avatar van Flex1986 Gouden medaille

Senior Member
Daar heb je in mysql de functie between voor.
http://www.webd...tween.php3
Offline Rik - 27/12/2007 14:35
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ik kende die functie van mysql nog niet!  Hij is wel erg handig!

Waar je wel voor moet oppassen is als er alleen een ondergrens of alleen een bovengrens is gegeven. Dan heb je maar één limiet. Je kan de andere dan ook ver negatief of ver positief nemen om hetzelfde te bereiken.
Offline kenzo - 27/12/2007 14:50 (laatste wijziging 27/12/2007 14:52)
Avatar van kenzo PHP beginner Ik heb de volgende code.

Alles werkt op 1 ding na.
Dit is de code:

  1. $query = mysql_query("SELECT * FROM `cms_producten` WHERE type LIKE '%$zoek%' || merk LIKE '%$zoek%' ".$categoriezoek." AND prijs BETWEEN ".$prijs1." AND ".$prijs2." ORDER BY prijs ASC")or die(mysql_error());


Er staat nu:

Selecteer van cms_producten waar type = " GEZOCHT " of
Selecteer van cms _producten waar merk = " GEZOCHT " en prijs is tussen prijsvan en prijstot.


Hij zoekt dus of alleen naar type, of naar merk en prijs...

hoe kan ik dat veranderen... misschien heel simpel met haakjes ofzo, maar ik weet het niet.


Bedankt!



edit: @Boukefalos

Ik heb de volgende code gemaakt om een waarde te krijgen als maar 1 ding is ingevuld:

  1. if(empty($_POST['prijsvan']))
  2. {
  3. $prijs1 = "0.00";
  4. }
  5. else
  6. {
  7. $prijs1 = "".$_POST['prijsvan']."";
  8. }
  9.  
  10. if(empty($_POST['prijstot']))
  11. {
  12. $prijs2 = "100000.00";
  13. }
  14. else
  15. {
  16. $prijs2 = "".$_POST['prijstot']."";
  17. }


Prijs1 = prijs van
Prijs2 = prijs tot
Offline Rik - 27/12/2007 14:54 (laatste wijziging 27/12/2007 14:59)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Probeer de haakjes eens zo:
  1. SELECT * FROM `cms_producten` WHERE type (LIKE '%$zoek%' || merk LIKE '%$zoek%' ".$categoriezoek.") AND (prijs BETWEEN ".$prijs1." AND ".$prijs2.") ORDER BY prijs ASC"



Edit:
In php (en vast ook in mysql) bestaan er allerlei regels voor de voorrangen die operaters hebben:
http://nl2.php....ogical.php
http://nl2.php....precedence
Offline kenzo - 27/12/2007 15:00 (laatste wijziging 27/12/2007 15:01)
Avatar van kenzo PHP beginner Nee, doet hij niet... geeft volgende fout aan:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '() AND (prijs BETWEEN 0.00 AND 100000.00) ORDER BY prijs ASC' at line 1



Edit;

Bij jouw'n code geeft hij deze fout:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(LIKE '%thunder%' || merk LIKE '%thunder%' ) AND (prijs BETWEEN 0.00 AND 100000.' at line 1
Offline Rik - 27/12/2007 15:07
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Één van m'n haakjes staat verkeert.  

"type (" moet " (type" zijn.
Offline kenzo - 27/12/2007 15:09
Avatar van kenzo PHP beginner jah, ik heb het al...


bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s