Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP поиск в бд и вывод в таблицу / 6 сообщений из 6, страница 1 из 1
06.04.2017, 15:13
    #39434233
kamero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP поиск в бд и вывод в таблицу
В бд есть таблица и в ней данные. Нужно осуществить поиск и вывести в таблицу.
Вывод и поиск я сделал. Но не знаю как осуществить поиск по нажатию на кнопку... В php новичок.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
<div class="pheading"><h2>Поиск книг</h2></div>
<div class="baseform">

    <br></br>
	 	
	 <div class="checkbox">
	  <input type="checkbox" name="option1" value="a1" checked>по названию:
      <input type="checkbox" name="option2" value="a2" checked>по автору:
      <input type="checkbox" name="option3" value="a3" checked>по издательству:	
      <input type="checkbox" name="option3" value="a3" checked>по статье:	  
	 </div>	
	 
		<table class="tableform">  	 
		 <tr>
		 	<td class="label">
				Введите название книги:<span class="impot">*</span>
			</td>
			<td><input type="text" value="321" maxlength="100" name="name_kn" class="f_input"/></td>
		 </tr>
		</table>		
	<div class="fieldsubmit">
	 <button name="search_kn" class="fbutton" type="submit"><span>Поиск</span></button>
	</div>
	
	<?php 
	header("Content-Type: text/html; charset=utf8");
    // определяем начальные данные
    $db_host = 'localhost';
    $db_name = 'biblioteka';
    $db_username = 'root';
    $db_password = 'root';
    $db_table_to_show = 'book';
	$db_charset='cp1251';
	
	//получаем название книги
	$name_kn = trim($_POST['name_kn']);
     echo $name_kn;
    // соединяемся с сервером базы данных
    $connect_to_db = mysql_connect($db_host, $db_username, $db_password)
    or die("Could not connect: " . mysql_error());

    // подключаемся к базе данных
    mysql_select_db($db_name, $connect_to_db)
    or die("Could not select DB: " . mysql_error());
    mysql_query("SET NAMES utf8");
    // выбираем все значения из таблицы "student"
    $qr_result = mysql_query("select id, nazvanie, avtor, izdatelstvo, statia, nomer, kol, vidano from " . $db_table_to_show . 
	" Where  Upper (nazvanie) Like Upper ('%$name_kn%') or".
	       " Upper (avtor) Like Upper ('%$name_kn%') or".
		   " Upper (izdatelstvo) Like Upper ('%$name_kn%') or".
		   " Upper (statia) Like Upper ('%$name_kn%')")
    or die(mysql_error());

    // выводим на страницу сайта заголовки HTML-таблицы
  echo '<table border="1">';
  echo '<thead>';
  echo '<tr>';
  echo '<th>№ книги</th>';
  echo '<th>Название</th>';
  echo '<th>Автор</th>';
  echo '<th>Издательство</th>';
  echo '<th>Статья</th>';
  echo '<th>Номер</th>';
  echo '<th>Кол-во</th>';
  echo '<th>Выдано</th>';
  echo '</tr>';
  echo '</thead>';
  echo '<tbody>';
  
   // выводим в HTML-таблицу все данные клиентов из таблицы MySQL 
  while($data = mysql_fetch_array($qr_result))
  { 
    echo '<tr>';
	echo '<td>' . $data['id'] . '</td>';
    echo '<td>' . $data['nazvanie'] . '</td>';
    echo '<td>' . $data['avtor'] . '</td>';
    echo '<td>' . $data['izdatelstvo'] . '</td>';
	echo '<td>' . $data['statia'] . '</td>';
	echo '<td>' . $data['nomer'] . '</td>';
	echo '<td>' . $data['kol'] . '</td>';
	echo '<td>' . $data['vidano'] . '</td>';
    echo '</tr>';
  } 
  echo '</tbody>';
  echo '</table>';

    // закрываем соединение с сервером  базы данных
    mysql_close($connect_to_db);
?>
...
Рейтинг: 0 / 0
06.04.2017, 17:43
    #39434379
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP поиск в бд и вывод в таблицу
kameroНо не знаю как осуществить поиск по нажатию на кнопку... В php новичок.Читайте про HTML-формы и про массивы $_GET и $_POST. Полученные таким образом от клиента данные можно использовать в запросе на выборку. Для поиска по одному параметру почти готово же.


автор
Код: php
1.
" Upper (statia) Like Upper ('%$name_kn%')"

ИМХО тут Upper лишнее. А вот обработки входных данных перед использованием в запросе наверно недостает.
...
Рейтинг: 0 / 0
07.04.2017, 14:49
    #39434862
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP поиск в бд и вывод в таблицу
kamero,

тут хороший учебный пример, вдруг пригодится http://netfaq.ru/ajax/ajax_post_request
...
Рейтинг: 0 / 0
12.04.2017, 16:05
    #39437422
kamero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP поиск в бд и вывод в таблицу
Код: php
1.
2.
3.
4.
5.
if (isset($_REQUEST['option1']))				
 {				
  $poisk=" or Upper (nazvanie) Like";// Upper ('%$name_kn%')";
  echo ($poisk);
 }




Эм... почему то не реагирует на состояние чекбокса... подскажите в чем беда. То есть в { ... } я не попадаю при любых условиях(чек или не чек).
...
Рейтинг: 0 / 0
12.04.2017, 17:39
    #39437462
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP поиск в бд и вывод в таблицу
Есть три варианта решения:
Поиск в БД на SQL (например), поиск средствами PHP и поиск на клиенте (средствами Javascript).
Если записей в таблице несколько тысяч, а не десятков тысяч - клиентский Javascript. Если больше - SQL. Поиск на PHP в базе - не правильно.
...
Рейтинг: 0 / 0
15.04.2017, 08:59
    #39439049
Алексей Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP поиск в бд и вывод в таблицу
kamero
Код: php
1.
2.
3.
4.
5.
if (isset($_REQUEST['option1']))				
 {				
  $poisk=" or Upper (nazvanie) Like";// Upper ('%$name_kn%')";
  echo ($poisk);
 }




Эм... почему то не реагирует на состояние чекбокса... подскажите в чем беда. То есть в { ... } я не попадаю при любых условиях(чек или не чек).

Нужно код php записать в отдельный файл. И вызывать его при нажатии на кнопку.
При этом состояние чекбокса будет передано php файлу через $_POST или $_GET (зависит, какой метод укажете в HTML-коде). Для того, чтобы кнопка "Поиск" работала окружите кусок кода тегами <form> .... </form>, в этот кусок кода должны входить чекбоксы и кнопка.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP поиск в бд и вывод в таблицу / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]