Как получить результат из базы данных об изменении значений в текстовом поле с помощью Ajax? - PullRequest
2 голосов
/ 27 сентября 2010

Я работаю в PHP и Mysql Combo

Мне нужно искать результаты в БД и сохранять в скрытом поле, при изменении значения, которое пользователь вставляет в текстовое поле.

Как я могу сделать это, используя Ajax?

1 Ответ

1 голос
/ 27 сентября 2010

Вам понадобится несколько вещей:

  • Ваша главная страница.
  • Файл php, который обрабатывает заданный ввод (строку поиска) и выводит только то значение, которое вы хотитехранить в скрытом поле (returnsearchresults.php в приведенном ниже примере).
  • Некоторые javascript для работы ajax.

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

На вашей главной странице вам понадобится что-то вроде этого:

$("#ID_OF_SEARCH_BOX_GOES_HERE").keydown(function(event) {
    search_string = $("#ID_OF_SEARCH_BOX_GOES_HERE").val();
    $("#ID_OF_HIDDEN_FIELD_GOES_HERE").load("returnsearchresults.php?q="+search_string);
});

Редактировать: Вот идея того, как должен выглядеть returnsearchresults.php:

<?php
     $search_string = $_GET['q'];
     // ADD SOME CHECKS IN HERE TO PREVENT SQL INJECTION OR WHATEVER
     $SQL = "SELECT 
                 whatever_you_need, 
             FROM 
                 your_database 
             WHERE 
                 the_column 
             LIKE 
                 '%$q%'";
     $result = mysql_query($sql);
     while ($row = mysql_fetch_array($result))
     {
         echo $row[0], ', '; // obviously this line depends on how 
                             // you need to format your hidden field.
     }
?>

Примечание. Я не включил код для открытия / закрытия соединения с базой данных или проверки того, что $ _GET ['q'] не является вредоносным.Я оставлю это на ваше усмотрение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...