Maison  >  Article  >  développement back-end  >  Comment interroger les données d'une base de données avec ajax php

Comment interroger les données d'une base de données avec ajax php

PHPz
PHPzoriginal
2023-03-29 10:13:34601parcourir

Avec le développement d'Internet et des applications mobiles, la demande de pages dynamiques et de données de requête en temps réel est de plus en plus élevée. AJAX (Asynchronous JavaScript and XML) est une technologie qui aide les développeurs à mettre en œuvre une transmission de données asynchrone et des mises à jour dynamiques des pages. Cet article expliquera comment utiliser AJAX et PHP pour interroger les données de la base de données et les présenter sur le front-end.

Tout d’abord, nous devons créer une base de données simple pour stocker les données. Ici, nous prenons comme exemple la table « étudiants », qui contient trois champs : « id », « nom » et « âge » pour stocker les informations de base sur les étudiants.

Après avoir établi la base de données, nous devons utiliser PHP pour nous connecter à la base de données et écrire des instructions de requête. Ce qui suit est un code d'opération de requête simple :

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$sql = "SELECT * FROM students";
$result = $conn->query($sql);

// 处理查询结果
if ($result->num_rows > 0) {
    // 输出每行数据
    while($row = $result->fetch_assoc()) {
        echo "学生ID: " . $row["id"]. " - 姓名: " . $row["name"]. " - 年龄: " . $row["age"]. "<br>";
    }
} else {
    echo "0 结果";
}

$conn->close();
?>

Le code ci-dessus utilise mysqli pour se connecter à la base de données MySQL, effectue une opération de requête simple et affiche les résultats de la requête sur la page frontale. Dans le développement réel, il peut être nécessaire de personnaliser le contenu à interroger, ainsi que les opérations telles que le filtrage et le tri.

Ensuite, nous devons utiliser la technologie AJAX pour demander de manière asynchrone des données côté serveur et présenter les résultats sur la page frontale. Voici le code pour une simple opération de requête AJAX :

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

<form>
<select name="students" onchange="showData(this.value)">
<option value="">请选择一个学生:</option>
<option value="1">小明</option>
<option value="2">小红</option>
<option value="3">小刚</option>
</select> 
</form>
<br>
<div id="result"><b>这里会显示查询到的学生信息</b></div>

</body>
</html>

Le code ci-dessus définit d'abord une fonction showData pour envoyer des requêtes asynchrones et accepter les données renvoyées par le serveur. Après avoir sélectionné un étudiant dans la zone de sélection, appelez la fonction showData et transmettez l'ID de l'étudiant sélectionné en paramètre.

La requête AJAX utilise l'objet XMLHttpRequest, spécifie l'adresse URL et les paramètres de la requête GET via la méthode open et envoie la requête via la méthode d'envoi. Lorsque la requête renvoie un code d'état 200, la requête réussit, la fonction onreadystatechange est appelée et les données renvoyées par le serveur sont utilisées comme valeur de l'attribut ResponseText pour afficher les données sur la page frontale. Si la demande échoue, le code d'état d'échec et les informations d'erreur peuvent être obtenus via l'attribut status.

Enfin, nous devons écrire un script PHP qui accepte les requêtes de requête et interroge les données de la base de données. Voici le code d'un simple script PHP :

<?php
$q = $_GET[&#39;q&#39;];

$con = mysqli_connect(&#39;localhost&#39;,&#39;username&#39;,&#39;password&#39;,&#39;myDB&#39;);
if (!$con) {
  die(&#39;Could not connect: &#39; . mysqli_error($con));
}

mysqli_select_db($con,"students");
$sql="SELECT * FROM students WHERE id = &#39;".$q."&#39;";

$result = mysqli_query($con,$sql);

echo "<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['id'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['age'] . "</td>";
  echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

Le code ci-dessus lit d'abord les paramètres passés dans la requête AJAX, puis se connecte à la base de données MySQL, exécute une instruction de requête avec une condition Where et affiche les résultats de la requête dans le fichier PHP. forme d'un tableau HTML Retour à la page front-end.

Pour résumer, la combinaison d'AJAX et de PHP pour interroger les données de la base de données et les présenter sur le front-end est une exigence courante de développement Web dynamique. En utilisant ces technologies de manière appropriée, nous pouvons rapidement implémenter une page dynamique complète.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn