PHP మరియు AJAX MySQL డేటాబేస్ ఉదాహరణ
- పూర్వ పేజీ AJAX XML
- తదుపరి పేజీ AJAX responseXML
AJAX డేటాబేస్ తో ఇంటరాక్టివ్ కమ్యూనికేషన్ కోసం ఉపయోగించబడుతుంది.
AJAX డేటాబేస్ ఉదాహరణ
ఈ క్రింది AJAX ఉదాహరణలో, మేము వెబ్ పేజీ ఎజెక్స్ ఎజెక్యూట్ టెక్నాలజీని ఉపయోగించి MySQL డేటాబేస్ నుండి సమాచారాన్ని పదిలుస్తాము.
డౌన్ లిస్ట్ లో ఒక కస్టమర్ ని ఎంచుకోండి
ఈ అప్లికేషన్ నాలుగు అంశాలను కలిగి ఉంటుంది:
- MySQL డేటాబేస్
- ఒక సాధారణ హ్ట్మ్ఎల్ ఫారమ్
- జావాస్క్రిప్ట్
- PHP పేజీ
డేటాబేస్
ఈ ఉదాహరణలో ఉపయోగించే డేటాబేస్ ఈ విధంగా కనిపిస్తుంది:
ఐడి | కస్టమర్ ఐడి | కంపెనీ పేరు | పరిచయం పేరు | చిరునామా | నగరం | పోస్టల్ కోడ్ | దేశం |
---|---|---|---|---|---|---|---|
1 | అలిబాబా | అలిబాబా గ్రూప్ | మా యూన్ | ...... | హాంగ్జోవు | 310002 | China |
2 | APPLE | అప్పల్ ఇంక్ | టిమ్ కూక్ | ...... | కార్పెంట్రా | 95014 | USA |
3 | బాయ్డు | బాయ్డు ఇంక్ | లీ యాన్హోంగ్ | ...... | బీజింగ్ | 100080 | China |
4 | Canon | Canon USA Inc. | Tsuneji Uchida | ...... | New York | 11042 | USA |
ఉదాహరణ వివరణ
పైని ఉదాహరణలో, పైని డౌన్ లిస్ట్ నుండి కస్టమర్ ఎంచుకున్నప్పుడు, 'showUser()' ఫంక్షన్ అమలు అవుతుంది。
ఈ ఫంక్షన్ onchange ఇవెంట్ ద్వారా ప్రేరేపించబడుతుంది。
ఈ HTML కోడ్ ఉంది:
ఉదాహరణ
<!doctype html> <html> <head> <script> function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; 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==4 && this.status==200) { document.getElementById("txtHint").innerHTML=this.responseText; } } xmlhttp.open("GET","/demo/getcustomer.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="users" onchange="showUser(this.value)"> <option value="">ఒక కస్టమర్ ఎంచుకోండి:</option> <option value="1">Alibaba</option> <option value="2">APPLE</option> <option value="3">BAIDU</option> <option value="4">Canon</option> <option value="5">Google</option> <option value="6">HUAWEI</option> <option value="7">Microsoft</option> <option value="8">Nokia</option> <option value="9">SONY</option> <option value="10">Tencent</option> </select> </form> <br> <div id="txtHint"><b>కస్టమర్ సమాచారం ఇక్కడ జాబితా చేయబడుతుంది.</b></div> </body> </html>
కోడ్ వివరణలు:
మొదటగా, కస్టమర్ ఎంపికచేసినా లేక లేక పోయినట్లయితే (str == ""), txtHint యొక్క కంటెంట్ నివారించి ఫంక్షన్ ను నిలిపివేయండి. కస్టమర్ ఎంపికచేసినట్లయితే, క్రింది చర్యలను అమలు చేయండి:
- XMLHttpRequest ఆబ్జెక్ట్ నిర్మించండి
- సర్వర్ ప్రతిస్పందించినప్పుడు అనుసంధానాన్ని చేపట్టే ఫంక్షన్ నిర్మించండి
- సర్వర్లో ఉన్న ఫైలుకు అనుమతించిన అనుసంధానాన్ని పంపండి
- దయచేసి, పారామీటర్ (q) యుఆర్ఎల్ కి జోడించబడింది (డౌన్ లిస్ట్ విషయంలో ఉన్న కంటెంట్ తో కలిపి ఉంటుంది).
PHP ఫైలు
ముక్కలకు కాల్చిన జావాస్క్రిప్ట్ పేజీ ఒక "getuser.php" పిఎచ్పి ఫైలు పేరు కలిగి ఉంటుంది.
ఈ "getuser.php" ఫైలు యొక్క సోర్స్ కోడ్ మైక్రోసాఫ్ట్ డాటాబేస్ ను అనుసంధానించి, హైల్టెక్స్ట్ టేబుల్లో ఫలితాలను పునఃప్రదర్శిస్తుంది:
<?php $q = intval($_GET['q']); $con = mysqli_connect('MyServer','MyUser','MyPassword','Customers'); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } $sql="SELECT * FROM customerslist WHERE id = '".$q."'"; $result = mysqli_query($con,$sql); echo "<table>"; while($row = mysqli_fetch_array($result)) { echo "<tr><th>CustomerID</th><td>" . $row['CustomerID'] . "</td></tr>"; echo "<tr><th>CompanyName</th><td>" . $row['CompanyName'] . "</td></tr>"; echo "<tr><th>ContactName</th><td>" . $row['ContactName'] . "</td></tr>"; echo "<tr><th>Address</th><td>" . $row['Address'] . "</td></tr>"; echo "<tr><th>City</th><td>" . $row['City'] . "</td></tr>"; echo "<tr><th>PostalCode</th><td>" . $row['PostalCode'] . "</td></tr>"; echo "<tr><th>Country</th><td>" . $row['Country'] . "</td></tr>"; } echo "</table>"; mysqli_close($con); ?>
వివరణ: జావాస్క్రిప్ట్ ఫైల్ నుండి PHP ఫైలుకు క్వరీ పంపబడినప్పుడు, క్రింది పరిస్థితులు జరుగుతాయి:
- PHP MySQL సేవిర్స్ తో కనెక్షన్ తెరవండి
- సరైన కస్టమర్స్ పొందారు
- ఒక హ్ట్మ్ల్ పట్టిక సృష్టించండి, డాటా పూరించండి మరియు "txtHint" ప్లేస్ హోల్డర్ తిరిగి పంపండి
- పూర్వ పేజీ AJAX XML
- తదుపరి పేజీ AJAX responseXML