Autor Zpráva
Začátečník
Profil *
Ahoj mam formular kde zadam hledany vyraz a pomoci tohohle sriptu ho chci najit
<?php
$link = mysql_connect("localhost", "root", "") or die ("Nepovedlo se připojit na databázový server");
$db = mysql_select_db("db", $link) or die ("Nepovedlo se otevřít databázy");
$vysledek = mysql_query("select nazev from tabulka where MATCH(nazev) against ('".$_REQUEST['search']."')");
while ($data = mysql_fetch_array($vysledek))
{
echo "
<table>
<tr>
<td id='jmeno'>".$data['nazev']."</td>
</tr>
</table>";
}
?>
vse funguje le jakmile chci za Match pridat jeste jeden sloupec:
$vysledek = mysql_query("select nazev from baterie where MATCH(nazev, popisek) against ('".$_REQUEST['search']."')");
tak mi to hlasi chybu na tomhle radku while ($data = mysql_fetch_array($vysledek)):
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:devwwwzpracuj.php on line 42
nevite
nevite co tam mam spatne?
Kajman_
Profil *
Asi není fulltextový index na obou sloupečcích.
Začátečník
Profil *
To jsem zkousel mam ho na obou na kazdym zvlast a nebo ma byt nejaky spolecny?
Začátečník
Profil *
Kdyz tam mam jenom jeden tak to funguje a je jedno ktery tam je ale jak jsou dva nebo tri tak to hlasi tu chybu
Začátečník
Profil *
Tak asi je chyba opravdu v indexech kdyz napisu: echo mysql_error() ; tak mi vyjede:
Can't find FULLTEXT index matching the column list, ale kdyz se podivam do databaze a do tabulky tak vydim ze na tech sloupcich co pouzivam fultext mam aspon myslim.
Toto je ukazka z PhpMyAdmin

Klíčový název Typ Mohutnost Akce Sloupec
PRIMARY PRIMARY 62 id
kategorie INDEX Žádná druh
kod_zbozi INDEX Žádná kod_zbozi
kategorie_2 INDEX Žádná kategorie
nazev FULLTEXT Žádná nazev
kod_zbozi_2 FULLTEXT Žádná kod_zbozi
popisek FULLTEXT Žádná popisek
Začátečník
Profil *
Tak uz sem na to prisel stacilo zadat fultext najednou na vsechny sloupce ted jenom jeste jeden dotaz:
Ve sloupci kod_zbozi mam treba toto: PR 108 nebo PR 108/K ci PR 3115/S a kdyz to same dam hledat tak to nenajde, cisla a slova to nachazi v pohode. Je chyba nekde v nastaveni a nebo toto neumi hledat?
Kajman_
Profil *
Tipnul by, že to bude tím, že indexovaný fulltext nebere v potaz slova do určité délky. Záleží na nastavení serveru, většinou až od délky 4.
Začátečník
Profil *
Tak to porad zkousim a treba kdyz zadam 3115 tak to najde ale treba PR 108 nenajde nic takze v delce asi problem neni.
Kajman_
Profil *
pr 108 jsou dvě slova. Ani jedno není delší než tři znaky.
Začátečník
Profil *
A jeste jedna vec vyhledavam ve sloupci kategorie, kde mam ruzne jednoslovne nazvy vetsi nez 4 pismena a vyhleda mi to treba kategorii doplnky ale kategorii baterie ne? Tak to uz vubec nevim proc to nejede...
Začátečník
Profil *
Tak sem prohledaval web a nasel tuto vetu:
Pokud se některé slovo vyskytuje ve více jak polovině prohledávaných zánamů, tak ho databáze ignoruje.
Ruzumim tomu dobre kdyz mam tedy sloupec kategorie rozdelen na tri polozky z nichz jedna obsahuje vic jak polovinu vsech zaznamu tak mi tuto kategorii fulltext nenajde?
A jestli ano jde to nejak obejit?
Kajman_
Profil *
Můžete zkusit nepoužít index ale BOOLEAN MODE viz.
http://dev.mysql.com/doc/refman/4.1/en/fulltext-boolean.html
Toto téma je uzamčeno. Odpověď nelze zaslat.

0