Podałem Ci link z gotowym kodem i przykładami jak to wykonać. Turson zrobił to samo.
Ty odpisujesz w temacie - czekasz 30 minut i zakładasz kolejny z tym samym pytaniem. Zamiast usiąść i się nauczyć to czekać na gotowe rozwiązanie. Spoko - ja kiedyś też tak miałem, jednak zaoszczędze ci czasu i powiem, że nikt gotowca Ci tu nie da.
Pozdrawiam ;]
edit:
wyjaśnie Tobie jak działa to co ci podesłałem.
Tutaj masz link do zrzutu ekranu, jak widzisz, pobiera z 4 różnych tabel (newsy, artykuły, posty i tematy) i pokazuje wyniki ograniczone do ilości.
http://arturs.pl/upload/nt/wyszukiwarka.jpgTu jest kod jak to działa (ograniczyłem później do 3 tabel)
$(document).ready(function () {
var posts = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 2,
prefetch: {
url: '/posts.json',
filter: function (data) {
return data;
}
},
});
posts.initialize();
$('#multiple-datasets .typeahead').typeahead({
highlight: true
},
{
name: 'posts',
displayKey: 'text',
source: posts.ttAdapter(),
templates: {
header: '<div class="page-header"><h4><small>Posty</small></h4></div>',
empty: 'brak wyników',
suggestion: function (s) {
return '<p>' + s.text + '</p>'
}
}
})
});
Teraz robisz tak:
robisz dodatkowy plik / routing, np. newsy.json (nie musi być .json - to tylko w celach czytelności), w który listujesz wyniki z bazy danych jako JSON. (json_decone i json_encode - funkcje w PHP do tego).
Na stronie robisz include z jquery.js, pod nim typeahead.js i pod nim to co napisałem wyżej (przerób na własne potrzeby zmieniając nazwe json i pól / tabel). Poczytaj o typeahead a do wieczora będziesz miał działający skrypt.
Możesz również dalej czekać aż ktoś Ci poda innego gotowca -,-
edit:
podam Ci jeszcze kod HTML na formularz, taki jaki ja mam (ostylowany wg. bootstrapa):
<form id="search" class="form-horizontal" action="twój_plik_gdzie_wyswietlasz wynik" method="POST"> <div class="input-group" id="multiple-datasets"> <span class="input-group-btn"><button class="btn btn-default btn-typeahead" type="submit"><i class="fa fa-angle-double-right"></i></button></span> <input type="hidden" name="serialized" value=""> <input type="text" class="form-control col-md-8 typeahead" placeholder="Szukaj...">
W input hide serialized automatycznie dodają się wybrane wartości w trakcie wyszukiwania, np. przeszukujesz newsy po treści to w to pole dodają się wszelkie wartości z json - te które dodasz z bazy, czyli np. id, data, tytuł, tresc, autor itp. etc. itd ;]
proste.. wystarczy że przeczytasz to ze zrozumieniem i poprubujesz odrobine sam. Tylko nie wracaj jak przez godzine Ci nie będzie wychodzić.