Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2013, 11:16   #1
soundstorm
Пользователь
 
Регистрация: 20.08.2013
Сообщений: 15
По умолчанию php запрос не обновляя страницы

Уважаемые форумчане, у меня такой вопрос:
есть html-форма поиска элементов в базе, и есть ее php-обработчик. Все работает, вот только обработчик выводит результаты на другую страницу. Как сделать, чтобы результаты выводились на той же странице, что и форма поиска, без перегрузки?
Вот форма:
PHP код:
<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<
title>Test Form PHP.SU</title>
</
head>
<
body>
Що шукаємо?
                     
         <
form method="post" action="get.php" name="form1">
             <
input placeholder="Введіть ключ пошуку" maxlength="20" size="20" name="search">
             <
input type="submit" name="submit" id="searchButton"  value="Шукати">
      
      <
p>&nbsp;&nbsp;</p>    
      <
p>&nbsp;&nbsp;</p>                                   
<
p>Фільтр поля:

<
select name=pole size=1>
<
option value=1>Всі</option>
<
option value=surname>Прізвище</option>
<
option value=name>Ім'я-По батькові</option>
<option value=department1>Підрозділ</option>
<option value=department2>Відділ</option>
<option value=position>Посада</option>
<option value=phone1>Внутрішній телефон</option>
<option value=phone2>Зовнішній телефон</option>
<option value=phone3>Мобільний телефон</option>
<option value=phone4>Домашній телефон</option>
<option value=email>e-mail/jaber</option>
</select>
</p>

</form>
</body>
</html> 
А вот обработчик:
PHP код:
<?php
 $hostname 
"localhost"
 
$username "root"
 
$password "secret_len"
 
$dbname "phone_directory"
 
   
mysql_connect($hostname,$username,$password) or die("No connect"); 
   
mysql_select_db("$dbname") or die(mysql_error()); 

echo 
'<html>';
echo 
'<head>';
echo 
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
echo 
'<title>Test Form PHP.SU</title>';
echo 
'</head>';
echo 
'<body>';
echo 
'</body>';
echo 
'</html>';
  
$pole=$_POST['pole'];
  
$search=$_POST['search'];
  if(
$pole=='1'
      { 
        
$query "SELECT * FROM users WHERE (surname LIKE '%$search%')  OR (name LIKE '%$search%') OR (department1 LIKE '%$search%')
                   OR (department2 LIKE '%
$search%') OR (position LIKE '%$search%') OR (phone1 LIKE '%$search%')
                   OR (phone2 LIKE '%
$search%') OR (phone3 LIKE '%$search%') OR (phone4 LIKE '%$search%') OR (email LIKE '%$search%')"
       } 
     else {
          
$query "SELECT * FROM users WHERE $pole LIKE '%$search%'"
           }
 
$result mysql_query($query) or die("Запрос ошибочный"); 
 
$numbermysql_num_rows($result);
    
$i=0;
     echo (
"
            <h4 align=\"center\">Вивід раніше збережених данних</h4>
 
            <table border=\"1\" cellpadding=\"3\" cellspacing=\"0\" align=\"center\" width=\"90%\">
             <tr style=\"border: solid 1px #000\">
              <td align=\"center\"><b>Прізвище</b></td>
              <td align=\"center\"><b>Ім'я-По батькові</b></td>
              <td align=\"center\"><b>Підрозділ</b></td>
              <td align=\"center\"><b>Відділ</b></td>
              <td align=\"center\"><b>Посада</b></td>
              <td align=\"center\"><b>Внутрішній телефон</b></td>
              <td align=\"center\"><b>Зовнішній телефон</b></td>
              <td align=\"center\"><b>Мобільний телефон</b></td>
              <td align=\"center\"><b>Домашній телефон</b></td>
              <td align=\"center\"><b>e-mail</b></td>
         </tr>
     "
);
 if (
$number == 0
   { 
     print 
"Нет данных о $search в БД <br>"
   } 
  else
     { 
       for ( 
$i=$i<$number $i++ )
         { 

        while (
$row mysql_fetch_array($result)) 
            {
        echo 
"<tr>";
         echo 
"<td>".$row['surname']."</td>";
          echo 
"<td>".$row['name']."</td>";
        echo 
"<td>".$row['department1']."</td>";
        echo 
"<td>".$row['department2']."</td>";
        echo 
"<td>".$row['position']."</td>";
        echo 
"<td>".$row['phone1']."</td>";
        echo 
"<td>".$row['phone2']."</td>";
        echo 
"<td>".$row['phone3']."</td>";
        echo 
"<td>".$row['phone4']."</td>";
        echo 
"<td>".$row['email']."</td></tr>";
            }
         }
      }
 print 
"</table>\n"
 
mysql_free_result($result);
 
mysql_close($dbconnect);
?>
soundstorm вне форума Ответить с цитированием
Старый 16.09.2013, 14:19   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Курите AJAX
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 16.09.2013, 15:25   #3
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Это вопрос, типа "Как сделать сайт?". Даю направление, ищите дверь сами. Код прокомментировал как смог

Код:
<script type="text/javascript">
$(document).ready(function()
{
 $("#login_btn").click(function()
  {
     var msg   = $('#login_form').serialize(); // данные всех полей формы в одной переменной
        $.ajax({
          type: 'POST', // тип запроса
          url: '/login.php',  // обработчик
          data: msg,         // отправляемые данные
          success: function(data) // функция обработки ответа
           {
             // тут обработка ответа от сервера. Ответ в переменной data
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });
  	});
});
</script>
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 16.09.2013, 16:03   #4
soundstorm
Пользователь
 
Регистрация: 20.08.2013
Сообщений: 15
По умолчанию

Большое спасибо! Дальше сооброжу
soundstorm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обновить последние записи за определенный срок не обновляя не законченные записи? SotGEGDS SQL, базы данных 3 11.06.2013 14:39
ajax запрос без обновления страницы Flame20 Помощь студентам 6 09.11.2012 12:52
Запрос страницы через сокс WennY Работа с сетью в Delphi 5 24.08.2011 19:41
Страницы - макеты в PHP savva-paladin PHP 5 05.04.2011 13:45
Запрос к MySQL без обновления страницы denisov PHP 3 02.03.2010 19:39