Открыть меню    

PHP и AJAX для начинающих на простом примере

Что такое jQuery?

ajax и php для начинающих 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 содержит поля с именами, порядковым номером и адресом.

Надеюсь, эта статья будет вам полезна.

Источник

Комментарии к статье

аватарка пользователя
2014-06-26
gg

gg

аватарка пользователя
2014-06-26
gg

good

аватарка пользователя
2014-07-27
ansoly

Лаконично + работающий пример

аватарка пользователя
2014-08-17
Роман

А как быть, если нужно вытащить не один параметр, а несколько? К примеру: SELECT address, tel FROM students?

аватарка пользователя
2015-07-12
Олег

А как быть с sql-инъекцией?

аватарка пользователя
2016-03-11
инжектор

фильтруйте запросы Олег

аватарка пользователя
2016-04-21
Новичек

как быть с кодировкой, не ищет русские символы (cp1251)

аватарка пользователя
2016-05-26
Алексей

Большое спасибо за эту статью, очень помогло!

аватарка пользователя
2016-12-06
Алексей

И это называется простой пример? Конст рукция $('#name').val() мне лично не понятно

аватарка пользователя
2017-01-22
Алексей

Спасибо, на этом примере понял как правильно отправлять и получать запросы!

аватарка пользователя
2017-02-04
Диас

Автору рахмет к

аватарка пользователя
2017-03-21
JJ

а можно ли запрос и обработчик details.php уместить на одной странице, без details.php ?

аватарка пользователя
2018-01-30
Morris

Большое спасибо

аватарка пользователя
2018-02-16
Kane

Спасибо, все четко, понятно. Хороший и адекватный пример принципов работы ajax + java

аватарка пользователя
2018-08-27
Бабушка Гены

Вам человек принцип работы AJAX+jQuery рассказывает, а Вы ему про sql инъекции, экранируйте запросы и т.д. Школота.

аватарка пользователя
2019-08-03
Disputin

А пример то не рабочий, автор, ты где то ошибку допустил

аватарка пользователя
2019-08-03
Disputin

А пример то не рабочий, автор, ты где то ошибку допустил
Address of Roll no 1 is
(...и пусто...)

аватарка пользователя
2019-10-06
Clarity

@Disputin, нужно поменять в details.php пароль на тот, который от Вашей базы данных, тогда всё заработает. Ещё первый файл должен быть назван school.html, а не school.php.

аватарка пользователя
2019-10-06
Clarity

Пароль вставляется вот в эту строчку $con = mysql_connect("localhost","root","");
между последними кавычками.

аватарка пользователя
2019-11-10
777

А где аякс-то?)))

аватарка пользователя
2019-11-10
To777

В жопе у себя искал?

аватарка пользователя
2019-11-10
To777

В жопе у себя искал?

аватарка пользователя
2020-01-27
From

Вот тоже наглядный пример js для ajax с применением php. Можете скопировать в исходном коде с сайта https://syb.by

аватарка пользователя
2020-06-29
Александр

Да, примеров по этому аяксу множество, но это не тот случай как с каким-нибудь слайдером jquery - скопировал, поменял стили немного и всё работает и радует. Под каждый проект придется основательно разобраться с кодом...

аватарка пользователя
2021-01-07
Мдяяяяя

JQuery - "на простом примере"? У вас крыша поехала?

аватарка пользователя
2021-02-07
dr_stone

very goog