Zadaję zapytanie do bazy, które zwraca mi szereg wyników w tablicy (WHERE id LIKE $zmienna) . Chciał bym aby wyniki były poukładane od tego najbardziej pasującego do wyrażenia $zmienna do najmniej. Taka wyszukiwarka winksmiley.jpg Nie mam pojęcia jak to zrobć. Pytałem wujka na zapytania sortowanie mysql ale nic konkretnego … Wie ktoś może??
Właśnie przymierzam się do takiej wyszukiwarki, potrzebne komendy w mysql to MATCH() i AGAINST(). Do szukanej kolumny utworzyć index FULLTEXT.
Niby napisałem coś takiego ale nie działa. Wyświetla błąd w “while ($wiersz = mysql_fetch_row($zapytanie))”
$wns = 10;
settype($strona, "integer");
$tresc_zapytania_max = 'SELECT `id`, `post_date`, `post_title`, `link`, `size` MATCH (post_title) AGAINST ('.$_GET['szukaj'].') AS score FROM `wp_posts` WHERE MATCH (post_title) AGAINST ('.$_GET['szukaj'].') ORDER BY MATCH (post_title) AGAINST ('.$_GET['szukaj'].') DESC';
$zapytanie_max = mysql_query($tresc_zapytania_max);
// $r_max zawiera ilosc wszystkich rekordow w tabeli
$r_max = mysql_num_rows($zapytanie_max);
$tresc_zapytania = 'SELECT `id`, `post_date`, `post_title`, `link`, `size` MATCH (post_title) AGAINST ('.$_GET['szukaj'].') AS score FROM `wp_posts` WHERE MATCH (post_title) AGAINST ('.$_GET['szukaj'].') ORDER BY MATCH (post_title) AGAINST ('.$_GET['szukaj'].') DESC LIMIT '.(($strona-1)*$wns).','.$wns;
$zapytanie = mysql_query($tresc_zapytania);
while ($wiersz = mysql_fetch_row($zapytanie))
{
echo '
Tytuł: '.$wiersz[2].'
Rozmiar: '.$wiersz[4].' |
Dodano: '.$wiersz[1].' | Pobierz';
}[/code]