ForumCała strona

Nawigacja

Aktualnie online

Gości online: 26

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Wyszukiwanie na podstawie pierwszych liter wyrażenia
michal_86
Witam, mam nadzieje że ktoś będzie mi mógł pomóc.

Mam kod:
Pobierz kod źródłowy  GeSHi: PHP
  1. $zapytanie = "SELECT Lokalizacja, tytul, id, opis FROM pow5 WHERE match(Lokalizacja, opis) AGAINST('$szukaj' IN BOOLEAN MODE) ORDER BY Lokalizacja ";
Zinterpretowano w sekund: 0.017, wykorzystano GeSHi 1.0.8.10



W bazie danych w jednej z przeszukiwanych kolumn mam słowo "warszawy" . Gdy wpiszę warsz. warszaw w wyszukiwarce wszystko ładnie wychodzi. Natomiast gdy wpiszę "warszawa" nic nie znajduję.

Szukałem w necie ale ani zmienna % ani * nic nie dają.

Dlatego wpadłem na inny pomysł - może nico prymitywny ale skuteczny - i chciałbym o niego zapytać:


Czy da się wyszukiwać jedynie na podstawie pierwszych 4 liter - ustawiam, że mimo dowolnej długości jest wpisana fraza, do bazy idzie zapytanie jedynie 4 pierwszych litery. Jeśli tak - to jak to zrobić??

pozdr!


PW od moderatora:
  1. Zmiana nazwy tematu - Pieka 13.02 - 00:45
  2. Przeniesienie tematu - Pieka 13.02 - 00:45

Edytowane przez michal_86 dnia 13.02.2010 00:59:07
 
Wścibski Gość
Dodany dnia 24.11.2024 23:34:42
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
Szapko
Nie bardzo rozumiem o co Ci chodzi, ale może to pomoże:
http://forum.php....pid=183891
 
bartek124
Jeśli dobrze zrozumiałem post, to stwierdzam, że zapytanie działa dobrze. Fraza warsz wyszuka warsz, warszaw, warszawy, warszawski, warszawa, ale fraza warszawa nie może zwrócić wyniku zawierającego warszawy. Chcesz po pierwszych 4 literach? Skróć frazę za pomocą funkcji substr(), tak będzie najprościej.
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
michal_86
Witam,

Wymyśliłem coś takiego :

Pobierz kod źródłowy  GeSHi: PHP
  1. $szukaj = $_POST['szukaj'];
  2. if { (strlen($szukaj) > 4)
  3. $skroc= substr("$szukaj", 4, 0);
  4. }
Zinterpretowano w sekund: 0.021, wykorzystano GeSHi 1.0.8.10


Pytaniea: Czy będzie mi to działać? Czy będzie skracać wszystkie wyrażania dla full-text searching np: warszawa ulica marszałkowaska i skróci mi wars ulic mars ?

Jak mam to połączyć z
Pobierz kod źródłowy  GeSHi: PHP
  1. $zapytanie = "SELECT Lokalizacja, tytul, id, opis FROM pow5 WHERE match(Lokalizacja, opis) AGAINST('$szukaj' IN BOOLEAN MODE) ORDER BY Lokalizacja ";
Zinterpretowano w sekund: 0.021, wykorzystano GeSHi 1.0.8.10
Czy coś muszę zmieniać - np zamiast $szukaj dać $skroc??

Pozdr
Edytowane przez michal_86 dnia 13.02.2010 16:26:17
 
bartek124
Ach, tak ma to działać.

Proszę:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Podstawiasz odpowiedni ciąg na początku np $string = $_POST['costam'];

a później zmienną $string wykorzystujesz w zapytaniu;
Edytowane przez bartek124 dnia 13.02.2010 16:41:55
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
michal_86
Ok dzięki - spróbuje i dam znać jakie efekty.

Pozdr!

Wiadomość doklejona:
BARDZO CI DZIĘKUJĘ.

Działa lepiej niż przypuszczałem!

Na prawdę mi pomogłeś!

Pozdrawiam serdecznie.
Edytowane przez Pieka dnia 13.02.2010 20:35:05
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl