>  기사  >  백엔드 개발  >  PHP 정보 - AJAX와 MySQL 간의 상호 작용

PHP 정보 - AJAX와 MySQL 간의 상호 작용

jacklove
jacklove원래의
2018-05-07 14:56:421795검색

AJAX는 데이터베이스와 대화식으로 통신하는 데 사용할 수 있습니다. 이 기사에서는 이에 대해 설명합니다.

AJAX 데이터베이스 예제

다음 예제에서는 웹 페이지가 AJAX를 통해 데이터베이스에서 정보를 읽는 방법을 보여줍니다.

이 자습서에서 사용된 웹 사이트 테이블 SQL 파일: website.sql.

웹사이트 선택: Google Taobao Rookie Tutorial Weibo Facebook

해당 옵션을 선택하면 사용자 정보가 여기에 표시됩니다...



예제 설명 - MySQL 데이터베이스

In 위의 예에서 우리가 사용하는 데이터베이스 테이블은 다음과 같습니다.

mysql> select * from websites;+----+--------------+---------------------------+-------+---------+| id | name         | url                       | alexa | country |+----+--------------+---------------------------+-------+---------+| 1  | Google       | https://www.google.cm/    | 1     | USA     || 2  | 淘宝       | https://www.taobao.com/   | 13    | CN      || 3  | 菜鸟教程 | http://www.runoob.com/    | 4689  | CN      || 4  | 微博       | http://weibo.com/         | 20    | CN      || 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |+----+--------------+---------------------------+-------+---------+5 rows in set (0.01 sec)

예제 설명 - HTML 페이지

사용자가 위의 드롭다운 목록에서 사용자를 선택하면 "showSite()"라는 함수가 실행. 이 함수는 "onchange" 이벤트에 의해 트리거됩니다.

test.html 파일 코드:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <script>
function showSite(str){
    if (str=="")
    {
        document.getElementById("txtHint").innerHTML="";        return;    } 
    if (window.XMLHttpRequest)
    {
        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
        xmlhttp=new XMLHttpRequest();    }
    else
    {
        // IE6, IE5 浏览器执行代码
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;        }
    }
    xmlhttp.open("GET","getsite_mysql.php?q="+str,true);    xmlhttp.send();}
</script></head><body>
 <form><select name="users" onchange="showSite(this.value)"><option value="">选择一个网站:</option><option value="1">Google</option><option value="2">淘宝</option><option value="3">菜鸟教程</option><option value="4">微博</option><option value="5">Facebook</option></select></form><br><div id="txtHint"><b>网站信息显示在这里……</b></div>
 </body></html>

showSite() 함수는 다음 단계를 수행합니다.

웹 사이트가 선택되었는지 확인

XMLHttpRequest 객체 생성

생성 시기 서버 응답이 준비됨 실행된 함수

서버의 파일에 요청을 보냅니다

URL(드롭다운 목록의 내용 포함)

PHP 파일 끝에 추가된 매개변수(q)를 참고하세요.

위에서 JavaScript를 통해 호출된 서버 페이지는 "getsite_mysql.php"에 대한 PHP 파일 이름이 지정됩니다.

"getsite_mysql.php"의 소스 코드는 MySQL 데이터베이스에 대해 쿼리를 실행하고 결과를 HTML 테이블로 반환합니다.

getsite_mysql.php 파일 코드:

<?php$q = isset($_GET["q"]) ? intval($_GET["q"]) : &#39;&#39;; 
if(empty($q)) {
    echo &#39;请选择一个网站&#39;;    exit;}
 $con = mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;123456&#39;);if (!$con){
    die(&#39;Could not connect: &#39; . mysqli_error($con));}// 选择数据库mysqli_select_db($con,"test");// 设置编码,防止中文乱码mysqli_set_charset($con, "utf8"); 
$sql="SELECT * FROM Websites WHERE id = &#39;".$q."&#39;"; 
$result = mysqli_query($con,$sql); 
echo "<table border=&#39;1&#39;>
<tr>
<th>ID</th>
<th>网站名</th>
<th>网站 URL</th>
<th>Alexa 排名</th>
<th>国家</th>
</tr>"; 
while($row = mysqli_fetch_array($result)){
    echo "<tr>";    echo "<td>" . $row[&#39;id&#39;] . "</td>";    echo "<td>" . $row[&#39;name&#39;] . "</td>";    echo "<td>" . $row[&#39;url&#39;] . "</td>";    echo "<td>" . $row[&#39;alexa&#39;] . "</td>";    echo "<td>" . $row[&#39;country&#39;] . "</td>";    echo "</tr>";}echo "</table>"; 
mysqli_close($con);?>

설명: 쿼리가 JavaScript에서 PHP로 전송되는 경우

PHP는 MySQL 데이터베이스에 대한 연결을 엽니다.

선택한 사용자를 찾습니다.

HTML 테이블을 만들고, 데이터를 입력하고, "txtHint" 자리 표시자를 다시 보냅니다.

이 문서는 PHP에 관한 것입니다. AJAX 및 MySQL 상호 작용에 대해 자세히 설명되어 있으며, 더 많은 학습 자료를 보려면 PHP 중국어 웹사이트를 참조하세요.

관련 권장 사항:

PHP 정보 - AJAX와 PHP의 연결

PHP Simple XML 관련 지식

PHP XML DOM 관련 지식

위 내용은 PHP 정보 - AJAX와 MySQL 간의 상호 작용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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