Witam,
nie wiem czy w dobrym miejscu założyłem temat, bo pasuje on chyba w kilka miejsc...
Mam problem ze stworzeniem wyszukiwarki działającej w sposób dynamiczny, a konkretnie z zawężaniem wyników wyszukiwania poprzez kolejne pola formularza.
Formularz HTML:
<form id="quick-search" method="post" > <input id="searchData" class="input-type-2" type="text" onblur="if(this.value=='') this.value='Lokalizacja miasto...';" onfocus="if(this.value=='Lokalizacja miasto...') this.value='';" value="Lokalizacja miasto..." name="qsearch" onkeyup="liveSearch()" /> <input class="input-type-2" type="text" onblur="if(this.value=='') this.value='Powierzchnia...';" onfocus="if(this.value=='Powierzchnia...') this.value='';" value="Powierzchnia..." id="square" /> <input class="input-type-2" type="text" onblur="if(this.value=='') this.value='Cena...';" onfocus="if(this.value=='Cena...') this.value='';" value="Cena..." />
jQuery search:
function hide() { document.getElementById("featured-offers").style.display="none"; }
function show() { document.getElementById("featured-offers").style.display="block"; }
$(document).ready(function(){
$('#searchData').keyup(function() {
var searchVal = $(this).val();
if(searchVal !== '') {
$.get('mod/search-data.php?searchData='+searchVal, function(returnData) {
if (!returnData) {
$('#results').html('<p style="padding:5px;">Search term entered does not return any data.</p>');
} else {
hide();
$('#results').html(returnData);
}
});
} else {
show();
$('#results').html('');
}
});
});
Plik search-data.php:
<?php
$param = $_GET["searchData"];
$square = $_GET["square"];
if ($conn) {
$fetch = mysql_query("SELECT * FROM offices WHERE city REGEXP '^$param' AND active='1' OR area REGEXP '^$param' AND active='1' OR square REGEXP '^$param' AND active='1'");
Idealnie byłoby, gdyby wyniki wyszukiwania wyświetlały się po wprowadzeniu frazy w pierwsze pole wyszukiwania (tak jak jest teraz), a następnie zostały dynamicznie zawężone po wprowadzeniu tekstu do pola drugiego i trzeciego.
Z góry bardzo dziękuję za wszelką pomoc, oraz za ewentualne przeniesienie mojego tematu w bardziej stosowne miejsce.