Примеры PHP скриптов, которые работают правильно

Примеры PHP скриптов, которые работают правильно

От автора: Я не верю в мистику! Но после того как вся семья переболела простудным, почему-то «захандрил» и мой ПК. Как сказал мне врач, нужно закаляться и внедрять профилактические меры против ОРЗ. Наверное, для компьютеров тоже применимо данное утверждение. Сегодня я приведу примеры PHP скриптов, от которых здоровье вашего «железного друга» точно не испортится.

Странная форма

Приведу вам пример «странной» веб-формы. Вот код ее разметки:

<h2>Поиск человека:</h2>
    <form id="form1" method="post">
<div>
        <label for="enter">Введите имя и фамилию:</label>
        <input type="text" name="enter" id="enter" />
</div>
    </form>
    <div id="results"></div>

Форма странная потому, что в ней нет кнопки для отправки данных на сервер. Плюс к этому нет атрибута action, в значении которого указывается файл обработчика. В общем, полнейшая неразбериха!

Возможно, но данное приложение будет работать. Оно представляет собой модуль для поиска людей. Вся информация поставляются из базы MySQL. При этом перезагрузка страницы и отправка данных будет происходить автоматически (асинхронно) после ввода пользователем символов в текстовое поле.

MySQL и обработчик

Для начала создадим через phpMyAdmin простую таблицу в два поля. Вот ее структура:

Заполните таблицу «людьми»: введите имена и фамилии в поле human. Теперь приступим к написанию обработчика. Всего в проекте будет два файла. Код упомянутой выше веб-формы сохраните в index.php. Затем создайте следующий файл, назовите его search.php и поместите в него следующий код:

<?php
header('Content-Type: text/html; charset=utf-8');

$connecting = mysqli_connect('localhost', 'root', '', 'ajax')
or die('Не удается подключиться к MySQL.' );
$t = strip_tags(substr($_POST['enter'],0, 100));
$t = mysqli_escape_string($connecting,$t);
$sql_q = "select*from people where human like '%$t%'order by human asc";
 //echo $t;
$select = mysqli_query($connecting,$sql_q);
$str = '';
if (mysqli_num_rows($select) > 0){
  while($row = mysqli_fetch_object($select)){
  	 $str .= "<b>".$row->id."</b>. ";
    $str .= "<b>".$row->human."</b>";
    $str .= "<br/>\n";
  }
}else{
  $str = "Нет таких!";
}
echo $str;
?>

Если нужно проверить работу этого скрипта на Ajax PHP и MySQL примера, тогда добавьте в код формы кнопку Submit и укажите файл обработчика.

Асинхронизируем

«Оживлять» поиск мы будем средствами jQuery. Для этого нужно подключить библиотеку удаленно или скачать себе на ПК, а затем указать путь к ней. Я использовал последний вариант. Возвращаемся в index.php и прописываем путь, где находится jQuery. В разделе head страницы вставьте следующую строку:

<script src="jquery-2.0.0.min.js"></script>

У меня библиотека расположена на локальном сервере в той же папке, где и главная страница index.php, поэтому такой короткий путь. Под предыдущей строкой добавьте следующий код:

<script type='text/javascript'>
$(document).ready(function(){
    $("#enter").keyup(function(e){
        e.preventDefault();
        poisc();
    });
});
function poisc(){
  $("#results").show();
  var search_val=$("#enter").val();
  $.post("search.php", {enter : search_val}, function(data){
   if (data.length>0){
     $("#results").html(data);
   }
  })
}
</script>

Все, теперь наша асинхронная форма готова к работе. При вводе любой из букв будут отображаться те персоны, в имени и фамилии которых она присутствует.

Согласен, функциональность немного хромает. Но если добавить еще несколько критериев поиска в запрос, тогда выйдет настоящий Яндекс или Google. Вот такой здоровый скрипт получился у нас сегодня :) .

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree