PHP и AJAX для начинающих на простом примере
Что такое jQuery?
jQuery это библиотека javascript, цель которой "пиши меньше, делай больше". jQuery легко подключить к сайту и начать использовать. С помощью jQuery становится намного проще использовать javascript на вашем сайте.
jQuery устраняет целую прорву строк кода javascript, и позволяет реализовать эту прорву строк всего одним методом.
Что такое AJAX?
AJAX - это асинхронный (т.е. браузер, отослав запрос, может делать что угодно, например, показать сообщение об ожидании ответа, прокручивать страницу, и т.п.) JavaScript и XML. Он используется для создания динамических и быстрых веб-страниц. AJAX позволяет нам обновлять часть веб-страницы без перезагрузки страницы целиком.
Что насчет jQuery и AJAX?
Комбинация jQuery и AJAX обеспечивают мощную функциональность. С помощью jquery и ajax вы можете сделать запрос и получить информацию в различных форматах, включая XML, HTML и даже обычный текст. Для обмена данными можно использовать формат JSON. Данные полученные по ajax запросу мы можем использовать в нашей html странице.
jQuery делает существующий браузерный Ajax API мощнее и проще в использовании. Создавать вызовы ajax обычным способом, используя javascript, немного затруднительно: так как вы должны учитывать, что для различных браузеров требуются разные подходы к созданию объекта XMLHttpRequest
. Кроме того отправлять данные, например, из форм, становится сложнее, если вы используете обычный javascript для вызова ajax.
jQuery обеспечивает простую и мощную функциональность, которая расширяет javascript AJAX методы и обеспечивает более гибкий подход.
В этой небольшой статье я покажу вам, как использовать jQuery и AJAX в простой php форме. Давайте начнем... Чтобы использовать jQuery и AJAX нам потребуются два файла, в первом файле будет находиться код html/php, посредством которого и будет составляться ajax запрос. Во втором файле мы будет обрабатывать ajax запрос и возвращать результат на первую страницу.
Шаг 1. Создайте файл school.php
и вставьте в него следующий код:
В приведенном выше коде мы получаем имя и номер студента и, используя jquery и ajax, отсылаем их в details.php
.
HTML + jQuery
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function getdetails(){
var name = $('#name').val();
var rno = $('#rno').val();
$.ajax({
type: "POST",
url: "details.php",
data: {fname:name, id:rno}
}).done(function( result )
{
$("#msg").html( " Address of Roll no " +rno +" is "+result );
});
}
</script>
</head>
<body>
<table>
<tr>
<td>Your Name:</td>
<td><input type="text" name="name" id="name" /><td>
</tr>
<tr>
<td>Roll Number:</td>
<td><input type="text" name="rno" id="rno" /><td>
</tr>
<tr>
<td></td>
<td><input type="button" name="submit" id="submit" value="submit" onClick = "getdetails()" /></td>
</tr>
</table>
<div id="msg"></div>
</body>
</html>
Шаг 2: Создайте details.php и расположите в нем следующий код:
PHP
<?php
$name = $_POST['fname'];
$rno = $_POST['id'];
$con = mysql_connect("localhost","root","");
$db= mysql_select_db("school", $con);
$sql = "SELECT address from students where name='".$name."' AND rno=".$rno;
$result = mysql_query($sql,$con);
$row=mysql_fetch_array($result);
echo $row['address'];
?>
В приведенном выше коде мы получаем адрес студента с помощью порядкового номера и его имени.
Для данного примера вам понадобится создать базу данных school
и таблицу students
. Таблица student
содержит поля с именами, порядковым номером и адресом.
Надеюсь, эта статья будет вам полезна.
Источник
Комментарии к статье
gg
good
Лаконично + работающий пример
А как быть, если нужно вытащить не один параметр, а несколько? К примеру: SELECT address, tel FROM students?
А как быть с sql-инъекцией?
фильтруйте запросы Олег
как быть с кодировкой, не ищет русские символы (cp1251)
Большое спасибо за эту статью, очень помогло!
И это называется простой пример? Конст рукция $('#name').val() мне лично не понятно
Спасибо, на этом примере понял как правильно отправлять и получать запросы!
Автору рахмет к
а можно ли запрос и обработчик details.php уместить на одной странице, без details.php ?
Большое спасибо
Спасибо, все четко, понятно. Хороший и адекватный пример принципов работы ajax + java
Вам человек принцип работы AJAX+jQuery рассказывает, а Вы ему про sql инъекции, экранируйте запросы и т.д. Школота.
А пример то не рабочий, автор, ты где то ошибку допустил
А пример то не рабочий, автор, ты где то ошибку допустил
Address of Roll no 1 is
(...и пусто...)
@Disputin, нужно поменять в details.php пароль на тот, который от Вашей базы данных, тогда всё заработает. Ещё первый файл должен быть назван school.html, а не school.php.
Пароль вставляется вот в эту строчку $con = mysql_connect("localhost","root","");
между последними кавычками.
А где аякс-то?)))
В жопе у себя искал?
В жопе у себя искал?
Вот тоже наглядный пример js для ajax с применением php. Можете скопировать в исходном коде с сайта https://syb.by
Да, примеров по этому аяксу множество, но это не тот случай как с каким-нибудь слайдером jquery - скопировал, поменял стили немного и всё работает и радует. Под каждый проект придется основательно разобраться с кодом...
JQuery - "на простом примере"? У вас крыша поехала?
very goog