Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pełnotekstowe wyszukiwanie
itson
post 25.09.2007, 11:12:19
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 3.01.2007

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


zapytanie wygląda tak:
  1. <?php
  2. $sql = "SELECT book_id, title, autor FROM ssb_books " .
  3.  " WHERE is_published=" . 1 ." and (MATCH (title,body) " .
  4.  " AGAINST ('" . $_GET['keywords'] . " IN BOOLEAN MODE')) ORDER BY '$sort'";
  5. ?>


wszystko działa ok, problem polega na tym że gdy jako szukane słowo(keywords) wpisze kilka słów np. Wakacje Krysi to wyszukuje mi wszystkie słowa "Wakacje" i wszystkie słowa "Krysi", a chciał bym aby wynikiem wyszukiwania były rekordy w których znajduje się jeden ciąg "Wakacje Krysi"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
kossa
post 25.09.2007, 11:48:20
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


użyj w zapytaniu LIKE

Łukasz


--------------------
Go to the top of the page
+Quote Post
phpion
post 25.09.2007, 12:03:04
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Spróbuj wpisać Wakacja+Krysi lub "Wakacje Krysi"
Go to the top of the page
+Quote Post
Doomfinger
post 25.09.2007, 12:03:17
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 24.09.2007

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


Cytat
użyj w zapytaniu LIKE


Źle mu życzysz, prawda? smile.gif

Zrób to tak:
  1. <?php
  2. $sql = "SELECT book_id, title, autor FROM ssb_books " .
  3.  " WHERE is_published=" . 1 ." and (MATCH (title,body) " .
  4.  " AGAINST ('\"" . $_GET['keywords'] . "\"' IN BOOLEAN MODE)) ORDER BY '$sort'";
  5. ?>


Ten post edytował Doomfinger 25.09.2007, 12:04:23
Go to the top of the page
+Quote Post
itson
post 25.09.2007, 12:25:20
Post #5





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 3.01.2007

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


Cytat(Doomfinger @ 25.09.2007, 13:03:17 ) *
Źle mu życzysz, prawda? smile.gif

Zrób to tak:
  1. <?php
  2. $sql = "SELECT book_id, title, autor FROM ssb_books " .
  3.  " WHERE is_published=" . 1 ." and (MATCH (title,body) " .
  4.  " AGAINST ('\"" . $_GET['keywords'] . "\"' IN BOOLEAN MODE)) ORDER BY '$sort'";
  5. ?>


to mi wcale nie działa(Something is wrong in your syntax obok 'BOOLEAN MODE)) ORDER BY 'autor'' w linii 1), tu pojawia się jeszcze jeden problem z IN BOOLEAN MODE nie wiem czemu mi to nie działa w tej postaci jak napisałeś i dlatego zamknąłem ten apostrof dopiero za IN BOOLEAN MODE
  1. <?php
  2. " AGAINST ('" . $_GET['keywords'] . " IN BOOLEAN MODE')) ORDER BY '$sort'";
  3. ?>

a jak całkiem usunę to IN BOOLEAN MODE to działa tak jak wcześniej - wyszukuje pojedyncze słowa

Cytat(phpion.com @ 25.09.2007, 13:03:04 ) *
Spróbuj wpisać Wakacja+Krysi lub "Wakacje Krysi"


nie działa

Ten post edytował itson 25.09.2007, 12:23:43
Go to the top of the page
+Quote Post
tomeksobczak
post 25.09.2007, 13:04:28
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 10
Dołączył: 6.07.2007
Skąd: opole

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


Spróbuj, spróbuj i spróbuj...
To forum dyskusyjne czy zgadywanka?

A może zamiast próbować to zajrzyj do manuala mysql?

'+apple +juice'
Find rows that contain both words.


http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html


--------------------
Go to the top of the page
+Quote Post
Doomfinger
post 25.09.2007, 13:30:53
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 24.09.2007

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


Po prostu wyszukiwanie pełnych fraz musi dostać frazę w "cudzysłowach", ale dodatkowo całe wyszukiwanie musi zamknąć się w 'apostrofach', czyli w sumie: '"tekst tekst"'. Tomeksobczak: właśnie to Ty zgadujesz, bo jemu chodziło o szukanie całych zdań, a nie kilku wyrazów. smile.gif
Go to the top of the page
+Quote Post
itson
post 25.09.2007, 16:28:32
Post #8





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 3.01.2007

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


kurcze sorry moja wina truje dupę a mam starego mysql-a zainstalowałem nowego i wszystko działa wystarczy dać cudzysłów
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:23