Php with ajax code

PHP — AJAX and MySQL

The following example will demonstrate how a web page can fetch information from a database with AJAX:

Example

Example Explained — The MySQL Database

The database table we use in the example above looks like this:

id FirstName LastName Age Hometown Job
1 Peter Griffin 41 Quahog Brewery
2 Lois Griffin 40 Newport Piano Teacher
3 Joseph Swanson 39 Quahog Police Officer
4 Glenn Quagmire 41 Quahog Pilot

Example Explained

In the example above, when a user selects a person in the dropdown list above, a function called «showUser()» is executed. The function is triggered by the onchange event. Here is the HTML code:

Example

  • Create an XMLHttpRequest object
  • Create the function to be executed when the server response is ready
  • Send the request off to a file on the server
  • Notice that a parameter (q) is added to the URL (with the content of the dropdown list)

The PHP File

The page on the server called by the JavaScript above is a PHP file called «getuser.php».

The source code in «getuser.php» runs a query against a MySQL database, and returns the result in an HTML table:

table, td, th border: 1px solid black;
padding: 5px;
>

$con = mysqli_connect(‘localhost’,’peter’,’abc123′);
if (!$con) die(‘Could not connect: ‘ . mysqli_error($con));
>

mysqli_select_db($con,»ajax_demo»);
$sql=»SELECT * FROM user WHERE «;
$result = mysqli_query($con,$sql);

echo «

«;
while($row = mysqli_fetch_array($result)) echo «

«;
echo «

«;
echo «

«;
echo «

«;
echo «

«;
echo «

«;
echo «

«;
>
echo «

Firstname Lastname Age Hometown Job
» . $row[‘FirstName’] . « » . $row[‘LastName’] . « » . $row[‘Age’] . « » . $row[‘Hometown’] . « » . $row[‘Job’] . «

«;
mysqli_close($con);
?>

Explanation: When the query is sent from the JavaScript to the PHP file, the following happens:

  1. PHP opens a connection to a MySQL server
  2. The correct person is found
  3. An HTML table is created, filled with data, and sent back to the «txtHint» placeholder

Источник

PHP — AJAX and PHP

The following example will demonstrate how a web page can communicate with a web server while a user type characters in an input field:

Example

Example Explained

In the example above, when a user types a character in the input field, a function called «showHint()» is executed. The function is triggered by the onkeyup event. Here is the HTML code:

Example

  • Create an XMLHttpRequest object
  • Create the function to be executed when the server response is ready
  • Send the request off to a PHP file (gethint.php) on the server
  • Notice that q parameter is added to the url (gethint.php?q=»+str)
  • And the str variable holds the content of the input field

The PHP File — «gethint.php»

The PHP file checks an array of names, and returns the corresponding name(s) to the browser:

// Array with names
$a[] = «Anna»;
$a[] = «Brittany»;
$a[] = «Cinderella»;
$a[] = «Diana»;
$a[] = «Eva»;
$a[] = «Fiona»;
$a[] = «Gunda»;
$a[] = «Hege»;
$a[] = «Inga»;
$a[] = «Johanna»;
$a[] = «Kitty»;
$a[] = «Linda»;
$a[] = «Nina»;
$a[] = «Ophelia»;
$a[] = «Petunia»;
$a[] = «Amanda»;
$a[] = «Raquel»;
$a[] = «Cindy»;
$a[] = «Doris»;
$a[] = «Eve»;
$a[] = «Evita»;
$a[] = «Sunniva»;
$a[] = «Tove»;
$a[] = «Unni»;
$a[] = «Violet»;
$a[] = «Liza»;
$a[] = «Elizabeth»;
$a[] = «Ellen»;
$a[] = «Wenche»;
$a[] = «Vicky»;

// get the q parameter from URL
$q = $_REQUEST[«q»];

// lookup all hints from array if $q is different from «»
if ($q !== «») $q = strtolower($q);
$len=strlen($q);
foreach($a as $name) if (stristr($q, substr($name, 0, $len))) if ($hint === «») $hint = $name;
> else $hint .= «, $name»;
>
>
>
>

// Output «no suggestion» if no hint was found or output correct values
echo $hint === «» ? «no suggestion» : $hint;
?>

Источник

Как использовать AJAX в PHP и jQuery

Sajal Soni

Sajal Soni Last updated Nov 27, 2021

Сегодня мы собираемся исследовать концепцию AJAX с PHP. Техника AJAX помогает вам улучшить пользовательский интерфейс вашего приложения и улучшить общее восприятие конечного пользователя.

Что такое AJAX?

AJAX расшифровывается как асинхронный JavaScript и XML и позволяет асинхронно извлекать контент с внутреннего сервера без обновления страницы. Таким образом, он позволяет обновлять содержимое веб-страницы без перезагрузки.

Давайте рассмотрим пример, чтобы понять, как вы можете использовать AJAX в повседневной разработке приложений. Скажем, вы хотите создать страницу, которая отображает информацию профиля пользователя, с различными разделами, такими как личная информация, социальная информация, уведомления, сообщения и так далее.

Обычный подход заключается в создании различных веб-страниц для каждого раздела. Так, например, пользователи кликают по ссылке социальной информации, чтобы перезагрузить браузер и отобразить страницу с социальной информацией. Это замедляет навигацию между разделами, поскольку пользователю приходится ждать перезагрузки браузера и повторного отображения страницы каждый раз.

С другой стороны, вы также можете использовать AJAX для создания интерфейса, который загружает всю информацию без обновления страницы. В этом случае вы можете отобразить разные вкладки для всех разделов, и, нажав на вкладку, он извлекает соответствующее содержимое с внутреннего сервера и обновляет страницу, не обновляя браузер. Это поможет вам улучшить общее восприятие конечного пользователя.

Общий вызов AJAX работает примерно так:

diagram of an AJAX call between client and server side

Давайте быстро пройдемся по обычному потоку AJAX:

  1. Сначала пользователь, как обычно, открывает веб-страницу синхронным запросом.
  2. Затем пользователь нажимает на элемент DOM — обычно кнопку или ссылку — который инициирует асинхронный запрос к серверу. Конечный пользователь не заметит этого, поскольку вызов выполняется асинхронно и не обновляет браузер. Однако вы можете распознать эти AJAX-вызовы с помощью такого инструмента, как Firebug.
  3. В ответ на запрос AJAX сервер может вернуть данные строки XML, JSON или HTML.
  4. Данные ответа анализируются с использованием JavaScript.
  5. Наконец, проанализированные данные обновляются в DOM веб-страницы.

Итак, как вы можете видеть, веб-страница обновляется данными в реальном времени с сервера без перезагрузки браузера.

В следующем разделе мы расскажем, как реализовать AJAX с использованием ванильного JavaScript.

Как AJAX работает с использованием Vanilla JavaScript

В этом разделе мы увидим, как AJAX работает в обычном JavaScript. Конечно, есть доступные библиотеки JavaScript, которые облегчают выполнение AJAX-вызовов, но всегда интересно знать, что происходит внутри.

Давайте посмотрим на следующий ванильный код JavaScript, который выполняет вызов AJAX и асинхронно получает ответ от сервера.

var objXMLHttpRequest = new XMLHttpRequest(); 
objXMLHttpRequest.onreadystatechange = function()  
if(objXMLHttpRequest.readyState === 4)  
if(objXMLHttpRequest.status === 200)  
alert(objXMLHttpRequest.responseText); 
alert('Error Code: ' + objXMLHttpRequest.status); 
alert('Error Message: ' + objXMLHttpRequest.statusText); 
objXMLHttpRequest.open('GET', 'request_ajax_data.php'); 

Давайте пройдемся по приведенному выше коду, чтобы понять, что происходит за кулисами.

  1. Сначала мы инициализируем объект XMLHttpRequest , который отвечает за выполнение вызовов AJAX.
  2. У объекта XMLHttpRequest есть свойство readyState , и значение этого свойства изменяется в течение жизненного цикла запроса. Оно может содержать одно из четырех значений: OPENED , HEADERS_RECEIVED , LOADING и DONE .
  3. Мы можем настроить функцию-обработчик для изменений состояния, используя свойство onreadystatechange . И это то, что мы сделали в приведенном выше примере: мы использовали функцию, которая будет вызываться каждый раз при изменении свойства состояния.
  4. В этой функции мы проверили, равно ли значение readyState 4 , что означает, что запрос завершен, и мы получили ответ от сервера. Затем мы проверили, равен ли код состояния 200 , что означает, что запрос был успешным. Наконец, мы получаем ответ, который хранится в свойстве responseText объекта XMLHttpRequest .
  5. После настройки обработчика мы инициируем запрос, вызывая метод open объекта XMLHttpRequest . Значение свойства readyState будет установлено равным 1 после этого вызова.
  6. Наконец, мы вызвали метод send объекта XMLHttpRequest , который фактически отправляет запрос на сервер. Значение свойства readyState будет установлено равным 2 после этого вызова.
  7. Когда сервер отвечает, он в конечном итоге установит значение readyState равным 4, и вы должны увидеть окно предупреждения, отображающее ответ от сервера.

Вот как AJAX работает с ванильным JavaScript. Конечно, это был очень простой пример для демонстрации концепции AJAX, и в реальном приложении все может быть довольно сложно, так как вам нужно обработать многие различные сценарии успеха и неудач. Таким образом, было бы неплохо выбрать библиотеку JavaScript, которая скрывает специфические сложности браузера!

В следующем разделе мы увидим, как использовать библиотеку jQuery для выполнения вызовов AJAX.

Как работает AJAX с использованием библиотеки jQuery

В предыдущем разделе мы обсуждали, как можно выполнять вызовы AJAX, используя ванильный JavaScript. В этом разделе мы будем использовать библиотеку jQuery, чтобы продемонстрировать это. Я предполагаю, что вы знаете основы библиотеки jQuery.

Библиотека jQuery предоставляет несколько различных методов для выполнения вызовов AJAX, хотя здесь мы рассмотрим стандартный метод ajax , который используется чаще всего.

Посмотрите на следующий пример.

Источник

Читайте также:  Основы PHP
Оцените статью