Autor Zpráva
Pavel Calta
Profil
Dobrý den, prosím může mi někdo pomoct, kde mám chybu a jak to dodělat k tomu, aby to vyhledávalo? Dík moc. Snažím se oto celý den a nic. Díky Pavel


<?php
$slovo = "jané";
$sql = "MySQL_Query (SELECT *, MATCH ( jmeno) AGAINST ( '$slovo*' IN BOOLEAN MODE ) AS skore FROM kc WHERE MATCH ( jmeno ) AGAINST ( '$slovo*' IN BOOLEAN MODE ) ORDER BY skore DESC")";
if(!$sql):
echo "Chyba při načítání záznamů z databáze...";
else:
while($vysledek = MySQL_Fetch_Array($sql)):

endwhile;
endif;

?>
Alphard
Profil
malá modifikace:
echo "Chyba při načítání záznamů z databáze: ".mysql_error();
Miloš
Profil
zmýlil jsem se, prosím smazat
shadyyx
Profil *
mno nevim, ale v tom dotazu ti nechybi za SELECT * jeste ODKUD ???

Nebo vybiras UUUPLNE VSECHNY tabulky v DB ??? neni to trochu zdlouhave???

taky se mi nelibi ta carka za SELECT * - jsem sice jen mirne pokrocily, ale zatim jsem jeste nevidel v dotazu za SELECT carku...omlouvam se pokud tam opravdu ma byt...

a nevidim zmysl psani MySQL_Qesult atd. misto mysql_query atd. ...spis to jen zdrzuje pri programovani...
K.
Profil *
shadyyx
Když si projdeš celý dotaz, tak zjistíš, že tam from je ;)

SELECT *, .... : Není to nic neobvyklého. Mějme třeba tabulku obsahujici cenu bez dph. Pak jednoduchym select *, cena + (cena * 0,19) from.... získáš kromě běžných záznamů i vypočtenou cenu s dph. Něco podobného je použito i tady.

Ohledně zdržování programování...... ono zdržuje i psaní mysql_query a nasledné procházení výsledků. Mnohem lepší je používat nějaké třídy či knihovny, které ti mnohem zkrátí psaní jen na to nejduležitější (psaní dotazů). Např. PDO, PEARovský MDB2 (tam dokonce ani nemusíš psat inserty a updaty jako dotazy. Další rozšíření ti vytvoří i třídy pro zpracovávání samostatných tabulek a dokonce i pomůže jednoduše generovat formuláře pro zadávání dat), apod.

Pavel Calta
Do proměnné $sql předáváš řetězec obsahujicí: MySQL_Query (SELECT *, MATCH ( jmeno) AGAINST.....
Zkus tedy přesunout uvozovky za závorku ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: