Форумы портала PHP.SU » » Работа с СУБД » Поиск данных в БД и отображение

Страниц (1): [1]
 

1. komiller - 20 Июня, 2011 - 21:13:00 - перейти к сообщению
Здравствуйте, уважаемые.

Использую PHP+MSSQL, подключаюсь в БД отображаю данные на странице ПХП в виде таблицы, хотелось бы сделать поиск данных в БД и потом отображать но опыту к сожалению мало. Если честно не смог сформуливать вопрос чтобы гугл мне помог.
На страничке так же есть текстбокс для ввода инфи для поиска собственно вот и код того чего есть:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <div id="payments">
  4. <table width="50%" id="paymentstable">
  5. <tr>
  6. <td valign="top" style="width: 50 %">
  7. <table id="agents-list" class="filterable" border="0" cellpadding="5" cellspacing="1">
  8. <thead>
  9. <tr class="tr_search">
  10. <th colspan="7" height="30" align="left"><input id="suggest" class="searchbox" name="searchtag" size="25"></th>
  11. </tr>
  12. <tr style="background-image: url('images/blue_bg.jpg'); color: #fff; font-weight: normal; height: 20px;">
  13. <th align="center">Номер</th>
  14. <th align="center">Сумма</th>
  15. <th align="center">Комиссия</th>
  16. <th align="center">Время</th>
  17. <th align="center">Статус</th>
  18. </tr>
  19. </thead>
  20. <tbody>
  21. <?
  22. $tsql = "select Account, Net, Curr, CONVERT(char(10), DateUpdated, 103) + ' ' + CONVERT(char(10), DateUpdated, 108) as DateUpdated, State from payments";
  23. $stmt = sqlsrv_query($conn, $tsql) or die(DisplayErrors());
  24. while($row = sqlsrv_fetch_array($stmt)){       
  25.  
  26.  
  27. ?>     
  28. <tr class="<?echo $tdstyle;?>">
  29. <td align="center" class="td1" width="65"><?echo $row['Account'];?></td>
  30. <td align="center" class="td1" width="65"><?echo $row['Net'];?></td>
  31. <td align="center" class="td1" width="65"><?echo $row['Curr'];?></td>
  32. <td align="center" class="td1" width="130"><?echo str_replace('/', '.', $row['DateUpdated']);?></td>
  33. <td align="center" class="td1" width="65"><?echo $row['State'];?></td>
  34. </tr>
  35.  
  36.  
  37. <?
  38. }
  39. ?>
  40.  
2. demot - 20 Июня, 2011 - 22:40:53 - перейти к сообщению
Просто запрос видоизменить, допустим
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT Account, Net, Curr, CONVERT(char(10), DateUpdated, 103) + ' ' + CONVERT(char(10), DateUpdated, 108) AS DateUpdated, State FROM payments WHERE Account='myAccount';

Т.е. выведет все, что выводило и раньше, но только для аккаунта myAccount. Т.е. к вашему запросу было только добавлено WHERE Account='myAccount';
(Добавление)
ну а чтоб сделать такой запрос для поиска, нужно просто сделать <input type="text"> value которого будет передаваться в запрос.
пример
CODE (html):
скопировать код в буфер обмена
  1. <form method="post" action="obrabotchik.php">
  2. <input type="text" name="acc" value="">
  3. <input type="submit">
  4. </form>

A запрос в обработчике уже будет выглядеть так:
PHP:
скопировать код в буфер обмена
  1. $sql = "SELECT Account, Net, Curr, CONVERT(char(10), DateUpdated, 103) + ' ' + CONVERT(char(10), DateUpdated, 108) AS DateUpdated, State FROM payments WHERE Account='".$_POST['acc']."';";
3. komiller - 21 Июня, 2011 - 06:56:28 - перейти к сообщению
Спасибо огромное, очень понятно и легко написал не все так могут ) извини за наглость но хотел еще спросить кое что, у меня при загрузки страницы загружаются данные в таблицу как добавить кнопку и отображать данные при нажатии кнопки? понимаю вопрос дилетантский Улыбка но прошу понять и простит это прискорбно.
4. Давит - 21 Июня, 2011 - 09:03:36 - перейти к сообщению
5. komiller - 21 Июня, 2011 - 09:33:56 - перейти к сообщению
Спасибо за ответ, можно чуть по подробнее?
6. demot - 21 Июня, 2011 - 13:02:17 - перейти к сообщению
Ну можно на этой странице добавить форму
CODE (html):
скопировать код в буфер обмена
  1. <form method="post" action="obrabotchik.php">
  2. <input type="text" name="acc" value="">
  3. <input type="submit">
  4. </form>

А в коде сделать проверку:
PHP:
скопировать код в буфер обмена
  1. if (!empty($_POST['acc'])){
  2. $sql = "SELECT Account, Net, Curr, CONVERT(char(10), DateUpdated, 103) + ' ' + CONVERT(char(10), DateUpdated, 108) AS DateUpdated, State FROM payments WHERE Account='".$_POST['acc']."';";
  3. } else {
  4. $sql = "SELECT Account, Net, Curr, CONVERT(char(10), DateUpdated, 103) + ' ' + CONVERT(char(10), DateUpdated, 108) AS DateUpdated, State FROM payments;";
  5. }

Примерно так Улыбка
7. Coder1994 - 21 Июня, 2011 - 13:04:36 - перейти к сообщению
demot пишет:
Ну можно на этой странице добавить форму
CODE (html):
скопировать код в буфер обмена
  1. <form method="post" action="obrabotchik.php">
  2. <input type="text" name="acc" value="">
  3. <input type="submit">
  4. </form>

А в коде сделать проверку:
PHP:
скопировать код в буфер обмена
  1. if (!empty($_POST['acc'])){
  2. $sql = "SELECT Account, Net, Curr, CONVERT(char(10), DateUpdated, 103) + ' ' + CONVERT(char(10), DateUpdated, 108) AS DateUpdated, State FROM payments WHERE Account='".$_POST['acc']."';";
  3. } else {
  4. $sql = "SELECT Account, Net, Curr, CONVERT(char(10), DateUpdated, 103) + ' ' + CONVERT(char(10), DateUpdated, 108) AS DateUpdated, State FROM payments;";
  5. }

Примерно так Улыбка

фильтрацию ещё нужно сделать, mysql_real_escape_string как минимум, думаю ещё и htmlspecialchars можно
8. komiller - 21 Июня, 2011 - 21:27:02 - перейти к сообщению
Вставляю след. код но не каких изменений на страничке.
Сейчас у меня есть ТекстБокс как добавить кнопку и сделать обработку по нажатию на кнопку?

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.     <form method="post" action="obrabotchik.php">
  3.     <input type="text" name="acc" value="">
  4.     <input type="submit">
  5.     </form>
  6.  


Спасибо.
9. demot - 22 Июня, 2011 - 12:35:14 - перейти к сообщению
Из приведенного мною кода: при нажатии на кнопку "Submit" происходит отправка дынных формы в файл obrabotchik.php, в котором идет исходя из введенных данных формирование sql запроса (так же мой пример), а так же этот файл и будет отображать результат выполнения запроса.

А лучше - приведите код страницы с отображением результатов запроса.
10. komiller - 23 Июня, 2011 - 16:08:25 - перейти к сообщению
Заработало, нужно было только убрать action="obrabotchik.php" чтобы заработало. Как теперь изменить текст кнопки? а то у меня написано Отправить и не знаю откуда это
11. PATCH - 23 Июня, 2011 - 16:25:16 - перейти к сообщению
komiller пишет:
Заработало, нужно было только убрать action="obrabotchik.php" чтобы заработало. Как теперь изменить текст кнопки? а то у меня написано Отправить и не знаю откуда это


<input type="submit" name="submit" value="Добавить">

если убрать action="" то у тебя форма не куда отправляется не будет)
12. EuGen - 23 Июня, 2011 - 16:26:52 - перейти к сообщению
Будет, но куда - в строгом смысле остается на усмотрение браузера.
Обычно всегда отправляется на ту же страницу (скрипт), которая показала форму.

 

Powered by ExBB FM 1.0 RC1