powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP поиск в бд и вывод в таблицу
6 сообщений из 6, страница 1 из 1
PHP поиск в бд и вывод в таблицу
    #39434233
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В бд есть таблица и в ней данные. Нужно осуществить поиск и вывести в таблицу.
Вывод и поиск я сделал. Но не знаю как осуществить поиск по нажатию на кнопку... В 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
PHP поиск в бд и вывод в таблицу
    #39434379
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kameroНо не знаю как осуществить поиск по нажатию на кнопку... В php новичок.Читайте про HTML-формы и про массивы $_GET и $_POST. Полученные таким образом от клиента данные можно использовать в запросе на выборку. Для поиска по одному параметру почти готово же.


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

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

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




Эм... почему то не реагирует на состояние чекбокса... подскажите в чем беда. То есть в { ... } я не попадаю при любых условиях(чек или не чек).
...
Рейтинг: 0 / 0
PHP поиск в бд и вывод в таблицу
    #39437462
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть три варианта решения:
Поиск в БД на SQL (например), поиск средствами PHP и поиск на клиенте (средствами Javascript).
Если записей в таблице несколько тысяч, а не десятков тысяч - клиентский Javascript. Если больше - SQL. Поиск на PHP в базе - не правильно.
...
Рейтинг: 0 / 0
PHP поиск в бд и вывод в таблицу
    #39439049
Фотография Алексей Смирнов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP поиск в бд и вывод в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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