>백엔드 개발 >PHP 문제 >Ajax PHP로 데이터베이스 데이터를 쿼리하는 방법

Ajax PHP로 데이터베이스 데이터를 쿼리하는 방법

PHPz
PHPz원래의
2023-03-29 10:13:34671검색

인터넷과 모바일 애플리케이션의 발전으로 동적 페이지와 실시간 쿼리 데이터에 대한 수요가 점점 더 높아지고 있습니다. AJAX(Asynchronous JavaScript and XML)는 개발자가 비동기 데이터 전송 및 동적 페이지 업데이트를 달성하는 데 도움이 되는 기술입니다. 이 기사에서는 AJAX와 PHP를 사용하여 데이터베이스에서 데이터를 쿼리하고 이를 프런트 엔드에 표시하는 방법을 소개합니다.

먼저, 데이터를 저장할 간단한 데이터베이스를 만들어야 합니다. 여기서는 "students" 테이블을 예로 들겠습니다. 이 테이블에는 학생의 기본 정보를 저장하는 "id", "name" 및 "age"라는 세 가지 필드가 포함되어 있습니다.

데이터베이스를 구축한 후에는 PHP를 사용하여 데이터베이스에 연결하고 쿼리문을 작성해야 합니다. 다음은 간단한 쿼리 연산 코드입니다.

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

위 코드는 mysqli를 이용해 MySQL 데이터베이스에 접속해 간단한 쿼리 연산을 수행하고, 쿼리 결과를 프런트엔드 페이지에 출력하는 코드입니다. 실제 개발에서는 쿼리할 내용은 물론 필터링, 정렬 등의 작업을 사용자 정의해야 할 수도 있습니다.

다음으로 AJAX 기술을 사용하여 서버 측 데이터를 비동기적으로 요청하고 프런트 엔드 페이지에 결과를 표시해야 합니다. 다음은 간단한 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>

위 코드는 먼저 비동기 요청을 보내고 서버에서 반환된 데이터를 받아들이는 showData 함수를 정의합니다. 선택박스에서 학생을 선택한 후 showData 함수를 호출하여 선택한 학생의 ID를 파라미터로 전달합니다.

AJAX 요청은 XMLHttpRequest 객체를 사용하고, open 메소드를 통해 GET 요청의 URL 주소와 매개변수를 지정하고, send 메소드를 통해 요청을 보냅니다. 요청이 200 상태 코드를 반환하면 쿼리가 성공하고 onreadystatechange 함수가 호출되며 서버에서 반환된 데이터는 responseText 속성의 값으로 사용되어 프런트 엔드 페이지에 데이터를 표시합니다. 요청이 실패하면 상태 속성을 통해 실패 상태 코드 및 오류 정보를 얻을 수 있습니다.

마지막으로 쿼리 요청을 받아들이고 데이터베이스의 데이터를 쿼리하는 PHP 스크립트를 작성해야 합니다. 다음은 간단한 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);
?>

위 코드는 먼저 AJAX 요청에 전달된 매개변수를 읽은 후 MySQL 데이터베이스에 연결하고 where 조건을 사용하여 쿼리 문을 실행한 후 쿼리 결과를 HTML 테이블 형식 프런트 엔드 페이지로 돌아갑니다.

요약하자면, 데이터베이스 데이터를 쿼리하고 이를 프런트 엔드에 표시하는 AJAX와 PHP의 조합은 일반적인 동적 웹 개발 요구 사항입니다. 이러한 기술을 적절하게 사용하면 완전한 동적 페이지를 빠르게 구현할 수 있습니다.

위 내용은 Ajax PHP로 데이터베이스 데이터를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.