هيلبرنت | Helpernt

هيلبرنت | Helpernt (https://www.helpernt.com/vb/index.php)
-   ركن تطوير المواقع (https://www.helpernt.com/vb/forumdisplay.php?f=88)
-   -   كيفية صنع بحث مباشر (https://www.helpernt.com/vb/showthread.php?t=10448)

Mohamed yasser 02-14-2020 01:24 AM

كيفية صنع بحث مباشر
 


السلام عليكم ورحمة الله وبركاته

ياعني ايه بحث مباشر

ياعني انت لما تروح لجوجل وتكتب اي جمله او حرف تلقيه طلعلك خيارات بتحتوي علي الحاجه الي انت كتبته واحنا انعمل كده بالظبط باستخدام ajex


https://i.imgur.com/BpkVEY7.png

اول حاجه انعمل في ملف index

انحط فيه الاكواد ده

كود PHP:

<html>
<
head>
<
script>
function 
showResult(str) {
  if (
str.length==0) {
    
document.getElementById("livesearch").innerHTML="";
    
document.getElementById("livesearch").style.border="0px";
    return;
  }
  if (
window.XMLHttpRequest) {
    
// code for IE7+, Firefox, Chrome, Opera, Safari
    
xmlhttp=new XMLHttpRequest();
  } else {  
// code for IE6, IE5
    
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  
xmlhttp.onreadystatechange=function() {
    if (
this.readyState==&& this.status==200) {
      
document.getElementById("livesearch").innerHTML=this.responseText;
      
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
    }
  }
  
xmlhttp.open("GET","livesearch.php?q="+str,true);
  
xmlhttp.send();
}
</script>
</head>
<body>

<form>
<input type="text" size="30" onkeyup="showResult(this.value)">
<div id="livesearch"></div>
</form>

</body>
</html> 

الخطوه ده انا استخدم فيه xml ده ملف روابط علشان يعمل تغذيه سريعه طبعا في شرح عامله عن كيفية عمل ملف xml بصيغة php لو كنت اتستخدمه لموقع كبير

انعمل ملف جديد وانسميه livesearch.php

وانحط فيه الاكواد ده

كود PHP:

<?php
$xmlDoc
=new DOMDocument();
$xmlDoc->load("links.xml");

$x=$xmlDoc->getElementsByTagName('link');

//get the q parameter from URL
$q=$_GET["q"];

//lookup all links from the xml file if length of q>0
if (strlen($q)>0) {
  
$hint="";
  for(
$i=0$i<($x->length); $i++) {
    
$y=$x->item($i)->getElementsByTagName('title');
    
$z=$x->item($i)->getElementsByTagName('url');
    if (
$y->item(0)->nodeType==1) {
      
//find a link matching the search text
      
if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)) {
        if (
$hint=="") {
          
$hint="<a href='" .
          
$z->item(0)->childNodes->item(0)->nodeValue .
          
"' target='_blank'>" .
          
$y->item(0)->childNodes->item(0)->nodeValue "</a>";
        } else {
          
$hint=$hint "<br /><a href='" .
          
$z->item(0)->childNodes->item(0)->nodeValue .
          
"' target='_blank'>" .
          
$y->item(0)->childNodes->item(0)->nodeValue "</a>";
        }
      }
    }
  }
}

// Set output to "no suggestion" if no hint was found
// or to the correct values
if ($hint=="") {
  
$response="no suggestion";
} else {
  
$response=$hint;
}

//output the response
echo $response;
?>

لو انت بتستخدم ملف التغذيه بصيغة php اتغير الاسم ده في ملف livesearch

اتبحث عن
كود PHP:

$xmlDoc->load("links.xml"); 

اتخيله
كود PHP:

$xmlDoc->load("links.php"); 

علي حسب اسم الملف

النتيجة

https://i.imgur.com/gobUjR0.jpg


هيلبرنت 02-14-2020 01:10 PM

رد: كيفية صنع بحث مباشر
 
عاشت الايادى

ويعطيك الف عافية

~ GOOGLE ~ 02-14-2020 06:46 PM

رد: كيفية صنع بحث مباشر
 
تشكر المجهودك المميز ورائع لكن هاي طريقة وهشرح بشو يفيد

Mohamed yasser 02-14-2020 06:53 PM

رد: كيفية صنع بحث مباشر
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ~ GOOGLE ~ (المشاركة 35583)
تشكر المجهودك المميز ورائع لكن هاي طريقة وهشرح بشو يفيد

انا عطيتك مثال شوف بحث جوجل لما بتبحث عن شي بيجبلك قائمه من الي انت كاتبه في البحث


الساعة الآن 09:19 AM

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By Almuhajir