За последние 24 часа нас посетили 18305 программистов и 1600 роботов. Сейчас ищут 894 программиста ...

Помощь с поиском на Php+mysql

Тема в разделе "PHP и базы данных", создана пользователем yfnf3, 14 фев 2011.

  1. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Здравствуйте!
    У меня у вам вопрос!
    У меня есть таблица с полями:
    fam (фамилия)
    name (имя)
    otch (отчество)
    Как мне организовать поиск по словам, которые я ввожу в текстовое поле (чтобы введённое поле соответствовало записи в таблице и тогда именно оно выводилось на экран)
    Вот код:

    Форма поиска:
    PHP:
    1. <form action="formp.php" method="post">  
    2. Введите сотрудника:<br><input type="text" name="searchterm" size="60" value=""><br>  
    3. <input type="submit" name="submit" value="Искать">  
    4. <input type="reset" name="reset" value="Очистить">  
    5. </form>
    Рабочая форма:
    PHP:
    1. <?php
    2. $link = mysql_connect("***", "Ya***", "***")  
    3. or die("Could not connect");  
    4. print "Connected successfully";  
    5. mysql_select_db("***") or die("Could not select database");  
    6.  
    7.  
    8. $searchterm= $_POST['$searchterm'];
    9.  
    10. $query = "SELECT * FROM name WHERE fam LIKE '$searchterm%'";  
    11. $result = mysql_query($query) or die("Query failed");  
    12.  
    13. /* Печать результатов в HTML */  
    14. print "<table>\n";  
    15. while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {  
    16. print "\t<tr>\n";  
    17. foreach ($line as $col_value) {  
    18. print "\t\t<td>$col_value</td>\n";  
    19. }  
    20. print "\t</tr>\n";  
    21. }  
    22. print "</table>\n";  
    23. /* Освобождение resultset */  
    24. mysql_free_result($result);  
    25. /* Закрытие соединения */  
    26. mysql_close($link);  
    27. ?>
    Почему то выводит ВСЕ значения из таблицы! Как сделать, чтобы выводил только то, что нам нужно!?
     
  2. Kaner

    Kaner Активный пользователь

    С нами с:
    6 янв 2011
    Сообщения:
    58
    Симпатии:
    0
    У вас написано:
    $searchterm= $_POST['$searchterm'];

    а по идее должно быть:
    $searchterm= $_POST['searchterm'];
     
  3. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Ага, я сделал!
    Вот такой код в итоге:
    Форма поиска:
    PHP:
    1. <form action="formp.php" method="post">
    2.  Введите сотрудника:<br><input type="text" name="searchterm" size="60" value=""><br>
    3.  <input type="submit" name="submit" value="Искать">
    4.  <input type="reset" name="reset" value="Очистить">
    5.  </form>
    Форма рабочая:
    PHP:
    1. <?php
    2.  $link = mysql_connect("***", "Ya***", "***")
    3.  or die("Could not connect");
    4.  print "Connected successfully";
    5.  mysql_select_db("***") or die("Could not select database");
    6.  
    7.  
    8.  {
    9.  
    10.  
    11. $query = "SELECT * FROM name WHERE  UPPER(fam) LIKE '%".strtoupper($_POST['searchterm'])."%'";
    12. $result = mysql_query($query) or die("Query failed");
    13.  
    14. /* Печать результатов в HTML */
    15. print "<table>\n";
    16. while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    17. print "\t<tr>\n";
    18. foreach ($line as $col_value) {
    19. print "\t\t<td>$col_value</td>\n";
    20. }
    21. print "\t</tr>\n";
    22. }
    23. print "</table>\n";
    24. }
    25. /* Освобождение resultset */
    26.  
    27. /* Закрытие соединения */
    28. mysql_close($link);
    29. ?>
    30.  ?>
    И тогда вопрос уже к ВАМ, на который я точно себе не смогу дать ответ:
    Это поиск по одной таблице! А как сделать, чтобы искал по ВСЕМ таблицам, находящимся в моей БД ?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    yfnf3
    Это поиск по одной таблице! А как сделать, чтобы искал по ВСЕМ таблицам, находящимся в моей БД ?
    по-очереди поискай в каждой =)
     
  5. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    :D
    Извините, я вчера был немного не трезвый)