PHP AJAX ma’lumotlar bazasi


ULASHISH

AJAX va MySQL

AJAX ma’lumotlar bazasi bilan interaktiv aloqa uchun ishlatilishi mumkin.

Quyidagi misol veb-sahifa AJAX yordamida ma’lumotlar bazasidan ma’lumotlarni qanday olishi mumkinligini ko‘rsatadi:

Misol


Person info will be listed here...

MySQL ma’lumotlar bazasi jadvali

Yuqoridagi misolda biz foydalanadigan ma’lumotlar bazasi jadvali quyidagicha ko‘rinadi:

id FirstName LastName Age Hometown Job
1 Peter Griffin 41 Quahog Brewery
2 Lois Griffin 40 Newport Piano Teacher
3 Joseph Swanson 39 Quahog Police Officer
4 Glenn Quagmire 41 Quahog Pilot

HTML fayli

Agar foydalanuvchi yuqoridagi ochiladigan ro‘yxatda shaxsni tanlasa, showUser() funksiyasi bajariladi. Funksiya onchange hodisasi tomonidan ishga tushiriladi.

Mana HTML kodi:

Misol

<html>
<head>
<script>
function showUser(str) {
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        document.getElementById("txtHint").innerHTML = this.responseText;
      }
    };
    xmlhttp.open("GET","family.php?q="+str,true);
    xmlhttp.send();
  }
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
  <option value="">Select a person:</option>
  <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Joseph Swanson</option>
    <option value="4">Glenn Quagmire</option>
    </select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here...</b></div>

</body>
</html>
Misolni ishga tushirish »

Kod tushuntirish

Birinchidan, odam tanlanganligini tekshiring. Hech kim tanlanmagan bo‘lsa (str == ""), txtHint tarkibini tozalang va funksiyadan chiqing. Agar biror kishi tanlangan bo‘lsa, quyidagilarni bajaring:

  • XMLHttpRequest obyektini yarating
  • Server javobi tayyor bo‘lganda bajariladigan funksiyani yarating
  • So‘rovni serverdagi faylga yuboring
  • URL manziliga q parametr qo‘shilganiga e’tibor bering (ochiladigan ro‘yxat mazmuni bilan)


PHP fayli

Yuqoridagi JavaScript tomonidan chaqirilgan serverdagi sahifa family.php deb nomlangan PHP faylidir.

family.php dagi manba kodi MySQL ma’lumotlar bazasiga qarshi so‘rovni bajaradi va natijani HTML formatida qaytaradi jadval:

$q = intval($_GET['q']);

$con = mysqli_connect('localhost','peter','abc123');
if (!$con) {
  die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

echo "<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
}
echo "</table>";

mysqli_close($con);

Kod tushuntirish

So‘rov JavaScript-dan PHP fayliga yuborilganda, quyidagilar sodir bo‘ladi:

  1. PHP MySQL serveriga ulanishni ochadi
  2. To‘g‘ri odam topildi
  3. HTML jadvali yaratiladi, ma’lumotlar bilan to‘ldiriladi va txtHint to‘ldiruvchisiga qaytariladi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!