पीएचपी ट्यूटोरियल

पीएचपी होम पीएचपी परिचय पीएचपी इंस्टाल पीएचपी सिंटैक्स पीएचपी टिप्पणियाँ पीएचपी चर पीएचपी इको / प्रिंट पीएचपी डेटा प्रकार पीएचपी स्ट्रिंग्स पीएचपी नंबर पीएचपी गणित पीएचपी स्थिरांक पीएचपी ऑपरेटर्स पीएचपी अगर ... और ... Elseif पीएचपी स्विच पीएचपी लूप्स पीएचपी कार्य पीएचपी सरणियाँ पीएचपी सुपरग्लोबल्स पीएचपी रेगेक्स

पीएचपी फॉर्म

PHP फॉर्म हैंडलिंग PHP फॉर्म सत्यापन पीएचपी फॉर्म की आवश्यकता पीएचपी फॉर्म यूआरएल/ई-मेल PHP फॉर्म पूर्ण

पीएचपी उन्नत

पीएचपी दिनांक और समय पीएचपी शामिल करें पीएचपी फाइल हैंडलिंग PHP फ़ाइल खोलें/पढ़ें PHP फ़ाइल बनाएँ/लिखें पीएचपी फ़ाइल अपलोड पीएचपी कुकीज़ पीएचपी सत्र पीएचपी फिल्टर पीएचपी फिल्टर उन्नत PHP कॉलबैक फ़ंक्शंस पीएचपी JSON पीएचपी अपवाद

पीएचपी ओओपी

पीएचपी ओओपी क्या है पीएचपी क्लासेस/ऑब्जेक्ट्स पीएचपी कंस्ट्रक्टर पीएचपी विनाशक पीएचपी एक्सेस संशोधक पीएचपी विरासत पीएचपी स्थिरांक पीएचपी सार वर्ग पीएचपी इंटरफेस पीएचपी लक्षण PHP स्टेटिक तरीके पीएचपी स्टेटिक गुण पीएचपी नेमस्पेस पीएचपी Iterables

MySQL डेटाबेस

MySQL डेटाबेस MySQL कनेक्ट MySQL डीबी बनाएँ MySQL तालिका बनाएँ MySQL डेटा डालें MySQL अंतिम आईडी प्राप्त करें MySQL एकाधिक सम्मिलित करें MySQL तैयार MySQL डेटा का चयन करें MySQL कहाँ MySQL ऑर्डर बाय MySQL डेटा हटाएं MySQL अद्यतन डेटा MySQL सीमा डेटा

पीएचपी एक्सएमएल

पीएचपी एक्सएमएल पार्सर्स पीएचपी सिंपलएक्सएमएल पार्सर पीएचपी सिंपलएक्सएमएल - प्राप्त करें पीएचपी एक्सएमएल एक्सपैट पीएचपी एक्सएमएल डोम

पीएचपी - AJAX

AJAX परिचय अजाक्स पीएचपी AJAX डेटाबेस अजाक्स एक्सएमएल AJAX लाइव खोज AJAX पोल

पीएचपी उदाहरण

पीएचपी उदाहरण पीएचपी संकलक पीएचपी प्रश्नोत्तरी पीएचपी व्यायाम पीएचपी प्रमाणपत्र

पीएचपी संदर्भ

पीएचपी सिंहावलोकन पीएचपी सरणी पीएचपी कैलेंडर पीएचपी तिथि पीएचपी निर्देशिका पीएचपी त्रुटि पीएचपी अपवाद पीएचपी फाइल सिस्टम पीएचपी फ़िल्टर पीएचपी एफ़टीपी पीएचपी JSON पीएचपी कीवर्ड पीएचपी लिबक्सएमएल पीएचपी मेल पीएचपी गणित पीएचपी विविध पीएचपी MySQLi पीएचपी नेटवर्क पीएचपी आउटपुट कंट्रोल पीएचपी रेगेक्स पीएचपी सिंपलएक्सएमएल पीएचपी स्ट्रीम पीएचपी स्ट्रिंग पीएचपी वैरिएबल हैंडलिंग पीएचपी एक्सएमएल पार्सर पीएचपी ज़िप पीएचपी समयक्षेत्र

PHP उदाहरण - AJAX लाइव खोज


AJAX का उपयोग अधिक उपयोगकर्ता के अनुकूल और इंटरैक्टिव खोज बनाने के लिए किया जा सकता है।


AJAX लाइव खोज

निम्नलिखित उदाहरण एक लाइव खोज प्रदर्शित करेगा, जहां टाइप करते समय आपको खोज परिणाम मिलते हैं।

पारंपरिक खोज की तुलना में लाइव खोज के कई लाभ हैं:

  • जैसे ही आप टाइप करते हैं परिणाम दिखाए जाते हैं
  • जैसे-जैसे आप लिखना जारी रखते हैं, परिणाम संकीर्ण होते जाते हैं
  • यदि परिणाम बहुत संकीर्ण हो जाते हैं, तो व्यापक परिणाम देखने के लिए वर्ण हटा दें

नीचे दिए गए इनपुट क्षेत्र में W3Schools पृष्ठ खोजें:

ऊपर दिए गए उदाहरण में परिणाम एक XML फ़ाइल ( links.xml ) में पाए जाते हैं। इस उदाहरण को छोटा और सरल बनाने के लिए, केवल छह परिणाम उपलब्ध हैं।


उदाहरण समझाया - HTML पृष्ठ

जब कोई उपयोगकर्ता उपरोक्त इनपुट फ़ील्ड में एक वर्ण टाइप करता है, तो फ़ंक्शन "showResult ()" निष्पादित होता है। फ़ंक्शन "ऑनकीप" ईवेंट द्वारा ट्रिगर किया गया है:

<html>
<head>
<script>
function showResult(str) {
  if (str.length==0) {
    document.getElementById("livesearch").innerHTML="";
    document.getElementById("livesearch").style.border="0px";
    return;
  }
  var xmlhttp=new XMLHttpRequest();
  xmlhttp.onreadystatechange=function() {
    if (this.readyState==4 && 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>

स्रोत कोड स्पष्टीकरण:

यदि इनपुट फ़ील्ड खाली है (str.length==0), तो फ़ंक्शन लाइवसर्च प्लेसहोल्डर की सामग्री को साफ़ करता है और फ़ंक्शन से बाहर निकलता है।

यदि इनपुट फ़ील्ड खाली नहीं है, तो showResult () फ़ंक्शन निम्नलिखित को निष्पादित करता है:

  • XMLHttpRequest ऑब्जेक्ट बनाएं
  • सर्वर प्रतिक्रिया तैयार होने पर निष्पादित होने के लिए फ़ंक्शन बनाएं
  • सर्वर पर एक फ़ाइल के लिए अनुरोध भेजें
  • ध्यान दें कि URL में एक पैरामीटर (q) जोड़ा जाता है (इनपुट फ़ील्ड की सामग्री के साथ)


पीएचपी फ़ाइल

सर्वर पर उपरोक्त जावास्क्रिप्ट द्वारा बुलाया गया पृष्ठ एक PHP फ़ाइल है जिसे "livesearch.php" कहा जाता है।

"livesearch.php" में स्रोत कोड खोज स्ट्रिंग से मेल खाने वाले शीर्षकों के लिए एक XML फ़ाइल खोजता है और परिणाम देता है:

<?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;
?>

यदि जावास्क्रिप्ट से कोई पाठ भेजा गया है (strlen($q) > 0), तो निम्न होता है:

  • XML फ़ाइल को नए XML DOM ऑब्जेक्ट में लोड करें
  • जावास्क्रिप्ट से भेजे गए पाठ से मिलान खोजने के लिए सभी <शीर्षक> तत्वों के माध्यम से लूप करें
  • "$response" वेरिएबल में सही url और शीर्षक सेट करता है। यदि एक से अधिक मिलान मिलते हैं, तो सभी मिलान चर में जोड़ दिए जाते हैं
  • यदि कोई मिलान नहीं मिलता है, तो $response चर "कोई सुझाव नहीं" पर सेट है