Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> Problem z zapytaniem bis, mój atak paniki...
Martin24
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 2.08.2005
Skąd: pomorskie

Ostrzeżenie: (30%)
XX---


Ostatnio poradziłem sobie z wyszukiwarką, które wynajduje słowa kluczowe najpierw w autorze, potem w tytule, a potem w opisie i wyświetla wszystko naraz w kolejności: po autorze, tytule i opisie. Dałem radę to zrobić za pomocą kilku, a nie jednego zapytania. Pozostaje jednak problem: jak ustawić limit pozycji do wyświetlenia jeśli mam trzy zapytania, które wyświetlają wyniki jedne pod drugimi? Czy jest na to jakaś metoda?
Go to the top of the page
+Quote Post
sobstel
post
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


IMHO najpierw powinienes raczej zastanowic sie jak to zrobic w jednym zapytaniu


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
Martin24
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 2.08.2005
Skąd: pomorskie

Ostrzeżenie: (30%)
XX---


Jestem zielony i nie bardzo wiem gdzie szukać... Może jakaś podpowiedź?
Go to the top of the page
+Quote Post
Stringy
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.01.2005

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


LIMIT ogranicza liczbe wierszy zwracanych przez jedno zapytanie, musisz wiec zrobić to w jednym zapytaniu. Z twojego opisu niestety mało wynika. Najlepiej opisz strukture bazy (tabele, kolumny) oraz co ma zwracać takie zapytanie (jak mają być powiązane dane) to postaram sie napisać do tego jakis select.
Go to the top of the page
+Quote Post
Martin24
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 2.08.2005
Skąd: pomorskie

Ostrzeżenie: (30%)
XX---


ok. Mam tabelę books, w której kolumny id, autor, tytul, opis. Teraz przez zapytanie chcę, żeby wyświetliły mi się najpierw pozycje w których autor pasuje do zapytania, potem takie, w których pasuje tytul, a na końcu takie, w których opisie znajduje się poszukiwane slowo kluczowe. Poza tym chciałbym wprowadzić limit wyświetlanych pozycji na stronie do, np. 30. Mam nadzieję, że wyjaśniłem wszystko... Z góry dzięki.
Go to the top of the page
+Quote Post
strife
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


  1. SELECT id, autor, tytul, opis
  2. FROM books WHERE autor LIKE '%klucz%'


Nie wiem jak to połączyć w jedno zapytanie tak aby szukało trzech wartości a potem je zwracało myślę że jakoś przez OR bądź AND w zapytaniu, ale konkretnie nie wiem, zawsze możesz to zrobić przez 3 zapytania...

Co do reszty to limit do powiedzmy 30 wprowadzasz przez LIMIT
  1. SELECT id
  2. FROM books LIMIT 0, 30

Począwszy od pierwszego rekordu pokaże 30.


--------------------
Go to the top of the page
+Quote Post
Martin24
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 2.08.2005
Skąd: pomorskie

Ostrzeżenie: (30%)
XX---


ale jeśli zrobię to w trzech zapytaniach, to nie mogę ustanowić limitu...
Go to the top of the page
+Quote Post
NuLL
post
Post #8





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Crossposting na forum jest surowo zakazany i jest równy ostrzeżeniu.
http://forum.php.pl/index.php?showtopic=340554&hl=

BTW. Crossposting bardzo perfidny.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:53