miki_ok
3.03.2004, 10:00:56
Witam,
jak najprosciej ulozyc zapytanie, aby wyswietlalo mi np. cene z przedzialu 20 - 50, gdy w tabeli mam pola cena_od i cena_do
i teraz chcialbym wyswietlic wszystkie rekordy ktorym podam np. liczbe 30..
dzieki z gory
pozdrawiam,
MF
kszychu
3.03.2004, 10:30:40
Ja czegoś nie łapię, wiź no jaśniej: jak masz w tabeli cenba_od i cena_do, po co ci to? Najczęściej spotykamy się z przypadkami, kiedy to w tabeli jest cena a w formularzu wyszukiwania podajesz cena_od i cena_do, i wtedy robi się selecta, po bazie w celu wyłapania artykułów, których cena mieści się w tym przedziale. A ty chcesz podać liczbę i wyłapąc te rekordy, które mają odpowiedni przedział?
Jeśli tak to będzie to takie zapytanie:
[sql:1:5271a95e76]SELECT * FROM tabela WHERE cena_od >= $cena AND cena_do <= $cena[/sql:1:5271a95e76]
scanner
3.03.2004, 10:32:36
[sql:1:2187bfbb09]SELECT foo FROM bar WHERE _field BETWEEN _min AND _max[/sql:1:2187bfbb09]
kszychu
3.03.2004, 10:53:35
Scanner: ale on tam coś zamieszał i w bazie ma pola min i max... więc Twój skrypt, jak najbardziej słuszny w normalnych przypadkach, nie zadziała u niego.
miki_ok
3.03.2004, 10:54:12
chodzi mi oto, ze formularz ma pole 'cena' ktos sobie wpisuje 30 i chcialbym zeby mu wyswietlilo rekordy, w ktorych w jakis sposob jest zdefiniowana cena max i min. pomyslalem, ze najprosciej bylo by zrobic dwa pola dodatkowe cena_od i cena_do czy tam cena_min i cena_max
thx
mam jeszcze jedno pytanie, o ktore juz wczesniej ptalem i nie dostalem odp.

otoz jak ulozyc zapytanie gdy wyniki wyszukiwania dziele na kolejne podstrony (po 5 rekordow na kazdej) i aby funkcja RAND() nie powtarzala mi juz raz wyrzuconych wynikow przy przechodzeniu na kolejne podstrony... ? :/
mozna czyms zastapic order by RAND ? jest jakas alternatywa?
thx
tiraeth
4.03.2004, 07:39:32
1.
[sql:1:6249a18d23]SELECT *
FROM tabela
WHERE cena='$cena'
AND cena>=20
AND cena<=50[/sql:1:6249a18d23]
2.
Po co RAND ... przecież jak ktoś coś szuka to najlepiej wyświetlać mu wg. np. opisu malejąco ....
[sql:1:6249a18d23]SELECT *
FROM search
WHERE nick LIKE '%$search%'
ORDER BY opis DESC[/sql:1:6249a18d23]
spenalzo
4.03.2004, 11:30:12
Podział po 5 wyników
strona 1:
[sql:1:56358f5fad]... LIMIT 0,5[/sql:1:56358f5fad]
strona 2:
[sql:1:56358f5fad]... LIMIT 5,5[/sql:1:56358f5fad]
strona 3:
[sql:1:56358f5fad]... LIMIT 10,5[/sql:1:56358f5fad]
itd
sobstel
8.03.2004, 11:14:00
jak dla mnie cale zalozenie stworzenia 2 pol w tabeli cena_min i cena_max mija sie z celem. w bazdie powinno byc pole cena, w formularzu podawana cena_min i cena_max. twoje rozwiazanie wydaje sie troche... hmm...nielogiczne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.