آموزش AJAX در PHP
آموزش AJAX در PHP
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش AJAX در PHP خواهیم پرداخت.
AJAX چیست؟
AJAX مخفف Asynchronous JavaScript و XML است. AJAX یک تکنیک جدید برای ایجاد برنامه های وب بهتر ، سریع تر و تعاملی با کمک XML ، HTML ، CSS و Java Script است.
برنامه وب معمولی با استفاده از درخواست های همزمان ، اطلاعات را به قطع کننده و از طریق آن انتقال می دهد. این بدان معنی است که شما یک فرم را پر می کنید ، ارسال را فشار می دهید و به صفحه جدیدی با اطلاعات جدید از سرور هدایت می شوید.
با فشار دادن AJAX هنگام ارسال ، JavaScript از سرور درخواست می کند ، نتایج را تفسیر می کند و صفحه فعلی را به روز می کند. به معنای ناب ، کاربر هرگز نمی داند که حتی چیزی به سرور منتقل شده است.
برای یادگیری کامل در مورد AJAX ، لطفاً به آموزش AJAX مراجعه کنید.
مثال PHP و AJAX
برای اینکه به روشنی نشان دهیم دسترسی به اطلاعات از یک پایگاه داده با استفاده از Ajax و PHP آسان است ، ما در حال ساخت کوئری های MySQL هستیم و نتایج را در “ajax.html” نمایش می دهیم. اما قبل از اینکه ادامه دهیم ، اجازه می دهیم کارهای زمینی را انجام دهیم. با استفاده از دستور زیر جدول ایجاد کنید.
توجه – ما فرض می کنیم شما دارای امتیاز کافی برای انجام عملیات MySQL هستید.
1 2 3 4 5 6 7 |
CREATE TABLE `ajax_example` ( `name` varchar(50) NOT NULL, `age` int(11) NOT NULL, `sex` varchar(1) NOT NULL, `wpm` int(11) NOT NULL, PRIMARY KEY (`name`) ) |
اکنون داده های زیر را با استفاده از عبارات SQL زیر در این جدول ریخته اید.
1 2 3 4 5 6 |
INSERT INTO `ajax_example` VALUES ('Jerry', 120, 'm', 20); INSERT INTO `ajax_example` VALUES ('Regis', 75, 'm', 44); INSERT INTO `ajax_example` VALUES ('Frank', 45, 'm', 87); INSERT INTO `ajax_example` VALUES ('Jill', 22, 'f', 72); INSERT INTO `ajax_example` VALUES ('Tracy', 27, 'f', 0); INSERT INTO `ajax_example` VALUES ('Julie', 35, 'f', 90); |
پرونده HTML سمت کاربر
اکنون اجازه دهید فایل HTML سمت مشتری خود را داشته باشیم که ajax.html است و دارای کد زیر خواهد بود
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
<html> <body> <script language = "javascript" type = "text/javascript"> <!-- //Browser Support Code function ajaxFunction(){ var ajaxRequest; // The variable that makes Ajax possible! try { // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); }catch (e) { // Internet Explorer Browsers try { ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); }catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ // Something went wrong alert("Your browser broke!"); return false; } } } // Create a function that will receive data // sent from the server and will update // div section in the same page. ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ var ajaxDisplay = document.getElementById('ajaxDiv'); ajaxDisplay.innerHTML = ajaxRequest.responseText; } } // Now get the value from user and pass it to // server script. var age = document.getElementById('age').value; var wpm = document.getElementById('wpm').value; var sex = document.getElementById('sex').value; var queryString = "?age=" + age ; queryString += "&wpm=" + wpm + "&sex=" + sex; ajaxRequest.open("GET", "ajax-example.php" + queryString, true); ajaxRequest.send(null); } //--> </script> <form name = 'myForm'> Max Age: <input type = 'text' id = 'age' /> <br /> Max WPM: <input type = 'text' id = 'wpm' /> <br /> Sex: <select id = 'sex'> <option value = "m">m</option> <option value = "f">f</option> </select> <input type = 'button' onclick = 'ajaxFunction()' value = 'Query MySQL'/> </form> <div id = 'ajaxDiv'>Your result will display here</div> </body> </html> |
توجه – نحوه عبور متغیرها در Query مطابق با استاندارد HTTP و have formA است.
1 |
URL?variable1=value1;&variable2=value2; |
اکنون کد بالا صفحه ای را به شما می دهد که در زیر آورده شده است
فایل PHP سمت سرور
بنابراین اکنون اسکریپت سمت مشتری شما آماده است. اکنون ما باید اسکریپت سمت سرور خود را بنویسیم که سن، wpm و جنسیت را از پایگاه داده دریافت کرده و برای مشتری ارسال می کند. کد زیر را در پرونده “ajax-example.php” قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
<?php $dbhost = "localhost"; $dbuser = "dbusername"; $dbpass = "dbpassword"; $dbname = "dbname"; //Connect to MySQL Server mysql_connect($dbhost, $dbuser, $dbpass); //Select Database mysql_select_db($dbname) or die(mysql_error()); // Retrieve data from Query String $age = $_GET['age']; $sex = $_GET['sex']; $wpm = $_GET['wpm']; // Escape User Input to help prevent SQL Injection $age = mysql_real_escape_string($age); $sex = mysql_real_escape_string($sex); $wpm = mysql_real_escape_string($wpm); //build query $query = "SELECT * FROM ajax_example WHERE sex = '$sex'"; if(is_numeric($age)) $query .= " AND age <= $age"; if(is_numeric($wpm)) $query .= " AND wpm <= $wpm"; //Execute query $qry_result = mysql_query($query) or die(mysql_error()); //Build Result String $display_string = "<table>"; $display_string .= "<tr>"; $display_string .= "<th>Name</th>"; $display_string .= "<th>Age</th>"; $display_string .= "<th>Sex</th>"; $display_string .= "<th>WPM</th>"; $display_string .= "</tr>"; // Insert a new row in the table for each person returned while($row = mysql_fetch_array($qry_result)) { $display_string .= "<tr>"; $display_string .= "<td>$row[name]</td>"; $display_string .= "<td>$row[age]</td>"; $display_string .= "<td>$row[sex]</td>"; $display_string .= "<td>$row[wpm]</td>"; $display_string .= "</tr>"; } echo "Query: " . $query . "<br />"; $display_string .= "</table>"; echo $display_string; ?> |
اگر این درس را با موفقیت به پایان رسانده اید، می دانید که چگونه از MySQL ، PHP ، HTML و Javascript به طور همزمان برای نوشتن برنامه های Ajax استفاده کنید.
لیست جلسات قبل آموزش PHP
- آموزش PHP
- معرفی PHP
- آموزش تنظیمات محیط PHP
- آموزش نحو PHP
- آموزش انواع متغیر در PHP
- آموزش انواع ثابت ها در PHP
- آموزش انواع عملگرها در PHP
- آموزش تصمیم گیری در PHP
- آموزش انواع حلقه در PHP
- آموزش آرایه ها در PHP
- آموزش رشته ها در PHP
- آموزش مفاهیم وب در PHP
- آموزش روش های GET & POST در PHP
- آموزش Inclusion فایل در PHP
- آموزش پرونده ها و I / O در PHP
- آموزش توابع در PHP
- آموزش کوکی ها در PHP
- آموزش جلسات در PHP
- آموزش ارسال ایمیل با استفاده از PHP
- آموزش بارگذاری پرونده در PHP
- آموزش استاندارد کدگذاری در PHP
- آموزش متغیرهای از پیش تعریف شده در PHP
- آموزش عبارات منظم در PHP
- آموزش مدیریت خطا و استثنا در PHP
- آموزش اشکال زدایی در PHP
- آموزش تاریخ و زمان در PHP
- آموزش MySQL در PHP
دیدگاه شما