Search with jQuery
You can use AJAX through jQuery to search your MySQL database. It's as simple as setting up a php file to handle the search input, creating the input, and a space for the results to be returned. First, you'll need to set up the input box and the return data div.
Search:
Next, you'll create your page with the search box and returned data. You'll need to set up the jQuery to take the data as you type.
$(document).ready(function () { $('#name-search').keyup(function(e){ var pos = $(this).offset();//get position of input for dropdown style of returned data switch(e.keyCode) { case 38: // up e.preventDefault(); moveSelect(-1); break; case 40: // down e.preventDefault(); moveSelect(1); break; case 13: // return if(active==-1){ window.location='./?name='+$(this).val(); }//input else{ window.location=$("#result a.ac_over").attr('href'); }//goes to hovered selection break; default: active = -1; $.ajax({ url : "search.php", type : "POST", data : ({ findthis : $(this).val() }), success : function(ret) { $('#result').css('left',pos.left).css('top',pos.top+20).show().html(ret); } }); break; } }); function moveSelect(step) { var lis = $("#result a"); if (!lis) return; active += step; if (active == -1) { lis.removeClass("ac_over"); } else if (active == -2) { active = lis.size()-1; } else if (active >= lis.size()) { active = -1; } lis.removeClass("ac_over"); $(lis[active]).addClass("ac_over"); }; });
Then you'll need to create the php page to search your MySQL database. You can figure out how to connect to the database in another tutorial.
if (strlen($_POST['findthis']) >= 2) {//search when 2 or more charaters $namesearch = $_POST['findthis']; $sql1 = "SELECT * FROM table WHERE fname LIKE '".$namesearch."%' OR lname LIKE '".$namesearch."%' ORDER BY lname"; $sql = mysql_query($sql1); $i = 0; while ($array = mysql_fetch_array($sql)) { if ($i%2) { $id = ''; } else { $id = 'class="odd"'; }//add class for css styling echo "".$array['fname']." ".$array['lname'].""; $i++; } }
There's more in the following zip. Inside you'll get all the files you need. Of course you'll need to set up the database yourself.
Category: