Martin24
7.08.2005, 00:43:58
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?
sobstel
7.08.2005, 11:05:15
IMHO najpierw powinienes raczej zastanowic sie jak to zrobic w jednym zapytaniu
Martin24
7.08.2005, 11:43:50
Jestem zielony i nie bardzo wiem gdzie szukać... Może jakaś podpowiedź?
Stringy
7.08.2005, 13:17:05
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.
Martin24
7.08.2005, 15:30:39
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.
strife
7.08.2005, 15:56:23
SELECT id, autor, tytul, opis
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
SELECT id
FROM books LIMIT 0, 30
Począwszy od pierwszego rekordu pokaże 30.
Martin24
7.08.2005, 16:00:47
ale jeśli zrobię to w trzech zapytaniach, to nie mogę ustanowić limitu...
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.
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.