Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]zamiana na wyszukiwarkę Fulltext
pa-jong
post 22.02.2012, 22:59:47
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 21.02.2008
Skąd: Warszawa

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


Witam,
proszę was o wskazówki

próbuję moją wyszukiwarkę zamienić na pełnotekstową i ni cholery mi nie idzie..
obecnie kod wygląda tak..

  1. $strWhere = "";
  2. if (strlen($Filtr["Symbol"])) $Where .= "Symbol LIKE '".StringToMySQL($Filtr["Symbol"])."%' AND ";
  3. if (strlen($Filtr["Nazwa"])) $strWhere .= "Nazwa LIKE '%".StringToMySQL($Filtr["Nazwa"])."%' AND ";
  4. if ($Filtr["magazyn"] > 0)
  5. {
  6. if (strlen($Filtr["StanOd"])) $strWhere .= "(skl".$Filtr["magazyn"]." >= ".$Filtr["StanOd"].") AND ";
  7. if (strlen($Filtr["StanDo"])) $strWhere .= "(skl".$Filtr["magazyn"]." <= ".$Filtr["StanDo"].") AND ";
  8. }
  9. if ($Filtr["Grupa"] > 0) $strWhere .= "(IdGrupa = ".$Filtr["Grupa"].") AND ";
  10. if ($Filtr["Promo"] == 1) $strWhere .= "(promo = 't') AND ";
  11. if (strlen($strWhere)) $strWhere = substr($strWhere, 0, strlen($strWhere) - 5);
  12.  
  13. (...)
  14.  
  15. $strSql = "SELECT Symbol, Nazwa, skl1, skl1Cena, skl2, skl2Cena FROM stany ";
  16. if (strlen($strWhere)) $strSql .= "WHERE ".$strWhere." ";
  17. $strSql .= "ORDER BY ".$SortCols[$intSortCol]." ".$SortDirs[$intSortDir]." ";
  18. $strSql .= "LIMIT ".(($intPage - 1) * $intRowsDisplay).",".$intRowsDisplay;
  19. $objRst = mysql_query($strSql, $connect);


najbardziej chodzi tutaj o kolumnę "Nazwa"
niestety przy każdej próbie jej zmodyfikowania pod kątem FULLTEXT zapytanie nie zwraca żadnych wyników..

pomożecie ?

edit//
Próbowalem..
  1. SELECT Symbol, Nazwa, skl1, skl1Cena FROM stany
  2. WHERE MATCH (Symbol) AGAINST ('00024379') AND
  3. MATCH (Nazwa) AGAINST ('Angielski') AND
  4. (skl1 >= 1) AND
  5. (skl1 <= 1) AND
  6. (promo = 't') AND
  7. ORDER BY Nazwa ASC


zwraca mi
#1064 - Something is wrong in your syntax obok 'ORDER BY Nazwa ASC LIMIT 0, 30' w linii 7

gdzie może być błąd ?


//edit

ok, chyba działa..
dodałem także BOOLEAN MODE
obecnie problem jednak jest taki,
ze przy podaniu ciągu znaków "anat" zwraca 0 wyników... a powino być conajmniej 46

w przypadku LIKE dla uzupełniania ciągu przed i po służył znak "%"
jak to jest w przypadku FULLTEXT ?

Ten post edytował pa-jong 22.02.2012, 23:07:02
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.07.2025 - 00:57