waterssaz Posted January 29, 2009 Share Posted January 29, 2009 Hi, any help would be appreciayed here. Basicallly I have devised a simple ajax complete search box for my php application,but the results I get back are not quite as expected. When searching by name I am getting the expected results but everything is duplicated. I am very new to Ajax but class myself as fairly competent in PHP. The code below is the code that the javascript uses to process the request. <?php header("Cache-Control: no-cache, must-revalidate"); // Date in the past header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); ?> <html> <head></head> <body> <?php include("stud_data_database.php"); //********************************..........................................start of database query populated array for testing purposes $string=preg_replace('/\s+/','',$_GET["q"]); $q = "SELECT distinct top 100 StudentRefNo,studentid, forename, otherforenames, surname, forename+surname FROM ".TBL_STUDENT_DETAILS." WHERE StudentRefNo like '".str_replace("'","''",$_GET["q"])."%' OR studentid like '".str_replace("'","''",$_GET["q"])."%' OR forename+surname LIKE '%".str_replace("'","''",$string)."%' OR surname like '".str_replace("'","''",$_GET["q"])."%' ORDER by surname, forename"; $result = $database->query($q); $a=array(); while($row=mssql_fetch_array($result)) { $student_ref = $row["studentid"]; $student_fullname= $row["forename"].' '.$row["surname"]; $student_forename = $row["forename"]; $student_othernames = $row["otherforenames"]; $student_surname = $row["surname"]; $student_fullref= $row["StudentRefNo"]; $b=array($student_ref, $student_fullname, $student_surname, $student_othernames, $student_forename,$student_fullref ); $b=array_unique($b); array_push($a,$b); } print_r($a); echo count($a); //********************************..........................................end of database query populated array for testing purposes $q=trim($_GET["q"]); //lookup all hints from array if length of q>1 if (strlen($q) >1) { for($i=0; $i<count($a); $i++) { // for($col=0;$col<6;$col++) { if (strtolower($q)==strtolower(substr($a[$i][$col],0,strlen($q)))) { //$student_ref=$a[$i][0]; $student_ref=$a[$i][0]; $student_fullname=$a[$i][1]; $student_surname=$a[$i][2]; $student_othernames=$a[$i][3]; $student_forename=$a[$i][4]; $student_fullref=$a[$i][5]; if ($hint=="") { $hint="<br><span style=\"cursor: pointer\" onclick=\"load('stud_data_index.php?id=$student_ref','content')\">".$student_ref." | ".$student_forename." ".$student_othernames." ".$student_surname."</span><br><br>"; } else { $hint=$hint."<span style=\"cursor: pointer\" onclick=\"load('stud_data_index.php?id=$student_ref','content')\">". $student_ref." | ".$student_forename." ".$student_othernames." ".$student_surname."</span><br><br>"; } } } } } // Set output to "No matches (Please check your spelling and/or spelling)" if no hint were found or to the correct values. if ($hint=="") { $response="No matches (Please check your spelling and/or your syntax)"; } else { $response="Suggestions.....<br><br>".$hint; } //output the response echo $response.'<br>'; ?> </body> </html> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.