За последние 24 часа нас посетили 17802 программиста и 1695 роботов. Сейчас ищет 1671 программист ...

вывод из БД с поиском

Тема в разделе "PHP и базы данных", создана пользователем NyaNeko, 21 сен 2010.

  1. NyaNeko

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

    С нами с:
    16 сен 2010
    Сообщения:
    11
    Симпатии:
    0
    HTML:
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    2. <title>Поиск пользователей</title>
    3. </head>
    4. <center>
    5. <form action="searchuser.php" method="post">
    6. <h1>Поиск студентов</h1>
    7. <table border=0 cellspacing="30">
    8. <tr>
    9. <td align="right">Имя</td>
    10. <td><input type=text name=name maxlength=30 size=30><br></td>
    11. </tr>
    12. <tr>
    13. <td align="right">Фамилия</td>
    14. <td> <input type=text name=surname maxlength=30 size=30><br></td>
    15. </tr>
    16. <tr>
    17. <td align="right">Отчество</td>
    18. <td><input type=text name=patronymic maxlength=60 size=30><br></td>
    19. </tr>
    20. <tr>
    21. <td align="right">Специальность</td>
    22. <td>
    23. <select name="specialty">
    24.     <option value = 1>1</option>
    25.     <option value = 2>2</option>
    26.     <option value = 3>3</option>
    27. </td>
    28. </tr>
    29. <tr>
    30. <td align="right">Группа</td>
    31. <td>
    32. <select name="group">
    33.     <option value=-1->1</option>
    34.     <option value=-2->2</option>
    35.     <option value=-3->3</option>
    36.     </select>
    37. </td>
    38. </tr>
    39. <tr>
    40. <td align="right">Год</td>
    41. <td>
    42. <?php
    43.    echo '<select name="year">';
    44.  
    45.     for($year = 1980; $year <= 2015; $year++)
    46.        {
    47.        echo "<option value=\"$year\">$year";
    48.         }
    49.     echo "</select>";
    50.    
    51. ?>
    52. </td>
    53. </tr>
    54. <tr>
    55. <td colspan=2 align="center"><input type=submit value="Найти"></td>
    56. </tr>
    57. </form>
    58. </center>
    59. </body>
    60. </html>
    Из этих форм данные направляются в скрипт ниже:

    PHP:
    1. <?php
    2. mysql_connect('localhost','root','') OR die("Не удалось подключиться.");
    3.  
    4. $query = array();
    5. $str = null;
    6.  
    7. //проверяем и присваиваем переменные
    8. $name  = isset($_POST['name'])?(int)$_POST['name']:0;
    9. $surname = isset($_POST['surname'])?(int)$_POST['surname']:0;
    10. $patronymic  = isset($_POST['patronymic'])?(int)$_POST['patronymic']:0;
    11. $specialty  = isset($_POST['specialty'])?(int)$_POST['specialty']:0;
    12. $group  = isset($_POST['group'])?(int)$_POST['group']:0;
    13. $year  = isset($_POST['year'])?(int)$_POST['year']:0;
    14.  
    15. //задаем условия
    16. if($name > 0) $query[] = "`name` = ".$name;
    17. if($surname > 0) $query[] = "`surname` = ".$surname;
    18. if($patronymic > 0) $query[] = "`patronymic` = ".$patronymic;
    19. if($specialty > 0) $query[] = "`specialty` = ".$specialty;
    20. if($group > 0) $query[] = "`group` = ".$group;
    21. if($year > 0) $query[] = "`year` = ".$year;
    22.  
    23.  
    24. $where = '';
    25. if (!empty($query)) $where .= ' WHERE ';
    26. $where .= implode(' AND ', $query);
    27.  
    28. {
    29.   echo '<table border="0">';
    30.   echo '<tr><td></td><td>Имя</td><td>Фамилия</td><td>Отчество</td><td>Специальность</td><td>Группа</td><td>Год</td></tr>';
    31.     while ($row = mysql_fetch_assoc($result))
    32.     {
    33.     echo '<tr><td>'.$row['number'].'</td><td>'.$row['name'].'</td><td>'.$row['surname'].'</td><td>'.$row['patronymic'].'</td><td>'.$row['specialty'].'</td><td>'.$row['group'].'</td><td>'.$row['year'].'</td></tr>';
    34.     }
    35.    echo '</table>';
    36.   }
    37.   else
    38.     echo 'Нет пользователей';
    39. }
    40. else
    41.  echo mysql_error();
    42. ?>
    Помогите пожалуйста, как правильно организовать запрос и вывод данных в таблицу?
     
  2. lor08

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

    С нами с:
    24 сен 2010
    Сообщения:
    98
    Симпатии:
    0
    а у меня попутный вопрос,если создать такую же таблицу наподобие как можно отправить данный в таблицу?