ערכתי לאחרונה בתאריך 18.10.08 בשעה 17:18 בברכה, Groove
אצלי זה ככה:ajax.js
var xmlObj;function getRightObj( ) { xmlObj = null; try { // Firefox, Opera 8.0+, Safari xmlObj = new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlObj = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlObj = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlObj; } function chkState( ) { if ( xmlObj.readyState == 4 ) { document.getElementById("suggestions").innerHTML = xmlObj.responseText; document.getElementById("suggestions").style.display = "block"; } } function suggestQuery( str ) { if ( str.length == 0 ) { document.getElementById("suggestions").style.display = "none"; return; } xmlObj = getRightObj(); if ( xmlObj == null ) { alert("Your browser does not support AJAX!"); return; } var url = "/prj/search.php"; url += "?q=" + str; url += "&ajax=true&sid=" + Math.random(); xmlObj.onreadystatechange = chkState; xmlObj.open( "GET", url, true ); xmlObj.send( null ); }
|
search.php
<?php header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); require_once 'config.inc.php'; require_once CLASSES . 'db.class.php'; require_once INCLUDES . 'functions.php'; $query = escapeThese( $_GET['q'] ); $ajax = ( $_GET['ajax'] ? true : false ); if ( !empty ( $query ) ) { $db = new dbConn(); $db->connect( 'root', '1234', 'localhost' ); $db->select_db( 'groov3z_db' ); $suggestions = $db->qry( "SELECT * FROM `files` WHERE `name` LIKE '%$query%' OR `descr` LIKE '%$query%' ORDER BY `name`" ); $response = ( $db->num_rows() > 0 ? '' : false ); if ( $ajax ) { while ( $suggest = @mysql_fetch_object( $suggestions ) ) { $response .= '<div class="tr"> <div class="suggestion" onclick="copyQuery( this.innerHTML )">' . $suggest->name . '</div> </div>'; } print $response; } else { include_once 'header.inc.php'; include_once INCLUDES . 'flags.php'; print ('<div class="tblSearchResults"> <div class="category"> <img src="' . $imgs['icons']['search'] . '" alt="Search Results"></img> <span style="position: absolute; padding-top: 6px;"> Search Results <span class="query">→ ' . $query . '</span> </span> </div> <div class="tr"> <div class="idHeader">#</div> <div class="fileHeader">Filename</div> <div class="postHeader">Posted</div> <div class="donorHeader">Donor</div> <div class="clicksHeader">Clicks</div> <div class="hitsHeader">Hits</div> </div> '); while ( $suggest = @mysql_fetch_object( $suggestions ) ) { $response .= '<div class="tr"> <div class="td"><div class="id">' . $suggest->id . '</div></div> <div class="td"><div class="filename"> <a href="mirrors.php?ac=view&id=' . $suggest->id . '">' . $suggest->name . '</a></div></div> <div class="td"><div class="post">' . date("M y, H:iA", $suggest->post) . '</div></div>'; $donor = @mysql_fetch_object( $db->qry( "SELECT `id`, `username`, `country` FROM `users` WHERE `id` = $suggest->aid" ) ); $response .= '<div class="td"><div class="donor"> <a href="profiles.php?id=' . $donor->id . '"> <img src="' . $imgs['flags'] . $flags[$donor->country] . '" alt="Location: ' . $donor->country . '"></img> ' . $donor->username . '</a> </div></div> <div class="td"><div class="clicks">' . $suggest->clicks . '</div></div> <div class="td"><div class="hits">' . $suggest->hits . '</div></div> </div>'; } print $response . '</div>'; include_once 'footer.inc.php'; } } else { // advanced search... // not done yet, refer to index.php header( "Location: /prj/index/" ); } ?>
|
תתייחס לקטע של if $ajax, ותתעלם מcopyQuery().
בקיצור אני מאמין שתוכל לשנות את זה לצרכים שלך בקלות
תהנה אחי
