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..." /> </form>
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.