Autor Zpráva
Metes
Profil *
Zdarvím,
mám takovýto dotaz na DB:

$result = mysql_query("
    SELECT *
    FROM zbozi
    WHERE MATCH(nadpis) AGAINST ('$_GET[search]' IN BOOLEAN MODE)
    OR    MATCH(popis) AGAINST ('$_GET[search]' IN BOOLEAN MODE)
    ORDER BY 5 * MATCH(nadpis) AGAINST ('$_GET[search]') + 
                 MATCH(popis) AGAINST ('$_GET[search]') DESC
");


A nalezené výsledky vypisuji takto:
while ($vypis = mysql_fetch_array($result)) {
  echo $vypis["nadpis"]. "<br>";
  echo $vypis["popis"]. "<br>";
  echo mysql_error();
}


Problém je v tom, že mi to najde vždycky jenom jeden výsledek.
Např. Hledám lampy a najde mi to pouze jednen řádek v tabulce i když mám lampy ve třech.

Dále mám ještě jeden problém a to ten, že když to najde ten řádek s lampama, tak to vypíše i popis lampy a to i když tam není žádná lampa.

Jak mám správně vypsat výsledek hledání?
Pokud možno tak ať mi to vypíše první nalezené výsledky z nadpisu a potom až z popisu.

Děkuji za odpovědi.
Metes
Profil *
Tak už jsem si problém vyřešil sám.
Měl jsem špatné stylování stránky a ostatní příspěvky se mi nezobrazovali (byly shované pod logem).

Mám ještě jeden dotaz:
Když chci seřadit výsledky od nejrelevantnějšího musím tam mít DESC nebo nesmím.
bohyn
Profil
MATCH() vraci desetine cislo, cim vyssi tim lepsi - takze DESC
Metes
Profil *
bohyn
Děkuji!

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:

0