Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zapytania, zapytania..., jak wyciągnąć
mdk
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Chciałbym prosic o pomoc w pewnej kwestii:

Mam baze produktów:
produkty ('id','nazwa','cena') ktore wyświetlane są na stronach w porcjach po 10. Uzytkownik serwisu może dowolnie dobierać metode sortowania (tj.: id rosnąco, id malejaco, nazwa rosnaco, nazwa malejąco itd...)
Chciałem takze do tej prezentacji produktów dołączyć możliwość szukania produktu po nazwie i tu pojawia się problem. Otóż moge wyszukać dowolny element w bazie ale jak sformuować zapytanie aby wyswietlilo sie 9 nastepujacych bezpośrednio po wyszukanym elemencie rekordow zgodnie z ustawionym przez uzytkownika kryterium sortowania nie stosując if'ów na 'sort by' ?
aktualnie wyglada to tak sad.gif
  1. <?php
  2. $orderby ; // string zawierajacy aktualna metode sortowania
  3. $name ; // nazwa wyszukiwanego produktu
  4. $query1 = mysql_query("select * from produkty order by $orderby ");
  5. while($row = mysql_fetch_array($query1)) if($row['name']==$name) break;
  6. $i=9;
  7. echo $row['name'];
  8. while($i--) echo $row['name']
  9. ?>

ale nie satysfakcjonuje mnie to rozwiazanie do konca...

Ten post edytował mdk 28.07.2006, 17:58:47
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




nie pchaj do tego php; samo SQL wystarczy:
  1. SELECT * FROM `produkty` ORDER BY `klucz` WHERE `name`="fraza"

zamiast `name`="fraza" możesz dać też `name` LIKE "%fraza%"


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
mdk
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


chyba sie nie zrozumieliśmy sad.gif
nie chodzi mi o mechanizm wyszukiwania tylko o to jak kazać sql'owi wypisać 10 kolejnych rekordów ktore występują bezpośrednio po wyszukanym...
Go to the top of the page
+Quote Post
AxZx
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


moze najpierw nauczyc sie skladni jakiej uzywa sie w php?
poznaj dokladnie jak maja wygladac poszczegolne funkcje


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




mdk, to pobierz ID wyszukanego rekordu i potem wybierasz te, ktore mają większe ID.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
chyba sie nie zrozumieliśmy sad.gif
nie chodzi mi o mechanizm wyszukiwania tylko o to jak kazać sql'owi wypisać 10 kolejnych rekordów ktore występują bezpośrednio po wyszukanym...


  1. SELECT *
  2. FROM produkty, (SELECT id FROM produkty WHERE ............ itd) t
  3. WHERE produkty.id >= t.id AND produkty.id < t.id + 10


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 14:57