2012-09-03 3 views
0

У меня есть вопрос относительно поиска на веб-странице с текстовым полем и выпадающим списком.База данных MySQL, заполненная раскрывающимся списком и поиском PHP

У меня есть таблица с полями:

 
ID 
First name 
Last name 
Company name 
Occupation 
Description 

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

Мне очень жаль, но я полностью новичок и только нужны некоторые примеры такого рода кода и большую помощь :)

Спасибо

+0

Ваш вопрос непонятен. Что вы ищете и что вы хотите отображать на веб-сайте? – Deepak

+1

Есть много хороших учебников, видеороликов, книг, книг и т. Д., Которые помогут вам в этом, используйте Google. SO - не лучшее место для запроса примеров кода такого рода. –

+0

У меня есть список людей с их занятиями и другой информацией, хранящейся в базе данных. Теперь мне нужно иметь раскрывающийся список, заполненный из базы данных, с занятиями людьми, реализованными в поиске, поэтому, когда я выбираю из раскрывающегося списка, например, врача, и нажмите «ПОИСК», который покажет всем врачам данные о данных из базы данных. Теперь понятно? – Eager2Learn

ответ

0

Создание формы с поиска ввода текстового поля.

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

пример: в index.php

<?php 

?> 
<html> 
<body> 
<form action="<?php echo htmlentities($PHP_SELF); ?>" 
    <?php 
    if (isset($_POST['submit'])){ 
     // Insert code to connect to DB HERE 
     $searchText = htmlentities($_POST['search']); 
     $query = "SELECT * FROM table_name WHERE Occupation LIKE '%$searchText%'"; 
     $results = mysql_query($query) or die(mysql_query()); 
     echo "<select name=\"occupations\">"; 
     while($row=mysql_fetch_array($results)){ 
     echo "<option>$row[Occupation];</option>"; 
     } 
     echo "</select>"; 
    } 
    ?> 
    <input type="text" name="search"/> 
    <input type="submit" name="submit"/> 
</form> 
</body> 
</html> 
+1

Но мне нужно искать с dropdownbox, а не только с текстовым полем. – Eager2Learn

+0

Визуальный пример того, что я хочу: TextBox - здесь мы можем ввести любое слово, которое мы хотим DropDownBox - есть данные о типе профессий, заполняемых автоматически из таблицы базы данных, заполнения поля и после всех кнопок поиска – Eager2Learn

2

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

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

<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> 
    <script type="text/javascript"> 
     function searchOccupation() { 
      $.ajax({ 
       url: "searchOccupation.php?search=" + $('#searchTxt').attr('value'), 
       success: function (data) { 
        alert(data); 
       } 
      }); 
     } 
</script> 
</head> 
<body> 
    <input type="text" id="searchTxt"> 
    <input type="button" value="Search" id="searchBtn" onclick="searchOccupation()"> 
</body> 

Тогда ваш PHP скрипт (чье имя должно совпадать с именем в поле «URL» вызова Ajax (в этом случае он должен быть назван «searchOccupation.php») будет выглядеть следующим образом:

<?php 
    $searchTxt = $_GET['search']; 
    $con = new mysqli('server', 'user', 'password', 'database'); 
    if (!$con) {die("failed to connect: " . $con->connect_error;)} 
    $sql = "SELECT * FROM tableName WHERE occupation = '" . $searchTxt . "'"; 
    $result = $con->query($sql); 
    if (!$result) {die("No result set");} 
    while($row = $result->fetch_assoc()) { 
     echo $row['firstName']; //This sends data back to the page 
    } 
?> 

эхо часть сценария РНР, что отправляет данные обратно в «успех: функция (данные)». на JavaScript, поэтому эхо в зависимости от того поля вы хотите на странице, как выше

Edit: Немного неправильно поняли, что вы имели в виду, ажон выше, вероятно, то, что вам нужно.

Смежные вопросы