![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Dawno nie pisałem, bo piszę, gdy mam naprawdę "po górkę". OK. Do rzeczy. Mam w tabeli tytuły książek. Wszystko ładnie-pięknie, ale wraz ze wzrostem ilości książek (a właściwie ich opisów), zauważyłem, że niektóre z nich mają w sobie (tzn w tytule) te same wyrazy (frazy). No i teraz tak: Pomyślałem sobie, że "fajnie by było, gdyby" pod daną książką było coś w stylu "Zobacz również", gdzie pojawiałyby się tytuły PODOBNE do tej aktualnie oglądanej. No i dobra. Zamysł jest, więc do roboty (IMG:style_emoticons/default/smile.gif)
No i mam oczywiście książki inne, niż aktualnie przeglądana, ale kurcze z tytułem jest problem. Załóżmy dwa tytuły książek: "Między ustami a brzegiem pucharu" "Między Majdanem a Smoleńskiem" W obu tytułach pojawia się "Między", więc powinno wyświetlać. Problem jest jeszcze inny. Bo gdy już dojdę (z Waszą pomocą) do poprawnego wyświetlania, to pojawi się kolejny problem. Otóż w wielu tytułach mamy np. łączniki lub zaimki, np: "i", "a", "lub", "oraz", "to", "do", "nad" ... No przyznacie, że bez sensu jest, by wyświetlało mi tytuły tylko dlatego, że w innym jest "do". Pomyślałem, że stworzę tablicę z tymi łącznikami i zaimkami i spróbuję wyświetlić na nowo. I tu pojawiła się górka. Jak to połączyć. Próbuję walczyć z tym kolejny dzionek i za nic w świecie nie mogę tego rozwalić. Krótko mówiąc zapytanie powinno brzmieć: pokaż wszystkie tytuły zawierające w TITLE jakikolwiek podobny wyraz (w dowolnym miejscu) oprócz "$niechciane_wyrazy" i posortuj je jakoś tam (IMG:style_emoticons/default/wink.gif) No i kolejny problem, jaki się nasuwa: odmiana Pozostanę celowo przy tytule "Między Majdanem a Smoleńskiem". Mam w bazie również książkę pt "Ostatni lot. Przyczyny katastrofy smoleńskiej. Śledztwo dziennikarskie". No i teraz dodatkowo jak to wszystko do kupy połączyć, by pod książką "Między Majaden a Smoleńskiem" pojawił się tytuł "Ostatni lot...."? Bardzo Was proszę o pomoc. Sam nie dam rady... Ten post edytował roobik 13.03.2014, 02:01:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kurcze. Już wiem o co chodzi, ale nie wiem, czy będę to potrafił Wam jakoś wytłumaczyć.
Chodzi o to, że jeśli tytuł (nazwijmy to) "wzorcowy", czyli ten, po którym ma szukać, składa się więcej niż z jednego zdania, to wyskakują wszystkie tytuły. A jak tytułem jest jedno zdanie - jest wszystko ładnie pięknie (IMG:style_emoticons/default/smile.gif) //edit Zająłem się teraz kodem Tursona. Trcohę musiałem zmienić, bo albo wyświetlało w zapytaniu titletitle, albo wyświetlało pierwszych 15 (nie wiem czemu 15...) rekordów z bazy - i to przy każdej książce. Więc teraz to wygląda tak:
Znowu się pojawił problem z %%, ale tym razem nie wyświetla żadnych tytułów. Jak daję: Cytat echo $zap8.$zapytanie2; to otrzymuję: Cytat SELECT * FROM ksiazka WHERE title LIKE '%łóżku%' OR title LIKE '%królem%' OR title LIKE '%%' OR title LIKE '%cudzołóstwa%' OR title LIKE '%władzy%' Ale nie wyświetla mi "podobnych", a dodam, że w innym tytule jest też słowo królem //edit 2 Wróciłem do kodu karakara Problem pozostał, czyli jeśli tytuł składa się więcej niż z jednego zdania, to jest "problem"... (IMG:style_emoticons/default/sad.gif) Ten post edytował roobik 13.03.2014, 23:01:40 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 03:07 |