Вывести нужные элементы из базы данных, отобранных по параметрам, вводимым пользователем - MySQL
Формулировка задачи:
Добрый вечер, столкнулся с проблемой, что не знаю, как вывести на экран элементы из базы данных.
В чем заключается проблема:
Я создал форму, где пользователь может ввести число.
БД представляет из себя краткую таблицу Менделеева со столбцами порядковый номер, вес, формула, номера группы и периода и краткая сводка об элементе.
Мне бы создать какое-нибудь окошко, куда по введенному числу (пока один параметр поиска, но можно же и несколько придумать, например вывести элемент из первой группы и первого периода (в идеале такой поиск бы и осуществить, а не только по одному параметру как порядковый номер)) выводилась бы информация.
Я просто не знаю, как правильно перейти от введенного пользователем числа к переменной $result=mysql_query(" SELECT * FROM mend WHERE id=' тут как раз число, которое вводит пользователь ' "); , а после и к $row, с которой уже и работать для вывода.
Помогите, пожалуйста, создать такое поле, чтобы по введенному числу извлекалась нужная строчка из БД, и эта информация выводилась бы в этом поле
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <img id="myimg" align="right" width="150" height="220"><br> //просто окошко, где должна появляться информация <form action="1-3-1.php" method="GET"> //тут пользователь вводит число Информация по порядковому номеру: <input id="n1"> <input type="button" value="Показать" onclick="submit()"><br> //кнопка </form> <?php //подключаюсь к БД $connection=mysql_connect("****", "****", "****"); $db=mysql_select_db("db_****"); mysql_set_charset("utf8"); if(!$connection || !$db) { exit(mysql_error()); } else { echo "Соединение произошло успешно"; } $result1=mysql_query(" SELECT * FROM mend WHERE id='1' "); //получаю 4 переменных, создаю 4 массива с данными из $result2=mysql_query(" SELECT * FROM mend WHERE id='2' "); //соответствующих строчек $result3=mysql_query(" SELECT * FROM mend WHERE id='3' "); $result4=mysql_query(" SELECT * FROM mend WHERE id='4' "); mysql_close(); $row1=mysql_fetch_array($result1); $row2=mysql_fetch_array($result2); $row3=mysql_fetch_array($result3); $row4=mysql_fetch_array($result4); ?> <table width="80%" height="80%" border="1" cellpadding="0" cellspacing="0"> <tr> <td width="50" height="50"> <table width="100%" height="100%" border="1" cellpadding="2" cellspacing="1"> <tr> <th> <?php echo $row1['id'] ?> </th> <th width="30" height="20" rowspan="2"><?php echo $row1['symbol'] ?></th> </tr> <tr> <th><?php echo $row1['weight'] ?></th> </tr> <tr> <th colspan="2"><?php echo $row1['name'] ?></th> </tr> <tr> <th colspan="2"><?php echo $row1['formula'] ?></th> </tr> </table> </td> <td width="50" height="50"> <table width="100%" height="100%" border="1" cellpadding="2" cellspacing="1"> <tr> <th> <?php echo $row2['id'] ?> </th> <th width="30" height="20" rowspan="2"><?php echo $row2['symbol'] ?></th> </tr> <tr> <th><?php echo $row2['weight'] ?></th> </tr> <tr> <th colspan="2"><?php echo $row2['name'] ?></th> </tr> <tr> <th colspan="2"><?php echo $row2['formula'] ?></th> </tr> </table> </td> //для примера 2 ячейки из таблицы, ячейки которой //заполнены информацией из БД </body> </html>
Решение задачи: «Вывести нужные элементы из базы данных, отобранных по параметрам, вводимым пользователем»
textual
Листинг программы
<?php // Выставляем уровень обработки ошибок Error_Reporting(E_ALL & ~E_NOTICE); //подключаюсь к БД $connection=mysql_connect("****", "****", "****"); $db=mysql_select_db("db_****"); mysql_set_charset("utf8"); if(!$connection || !$db) { exit(mysql_error()); } else { echo "Соединение произошло успешно"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> </head> <body> <?php //Вывод формы echo "<form name=form method=get>"; //$caption это описание для действия $caption = "Введите порядковый номер: "; //Текстовое поле для вставки номера $tag = "<input type=\"text\" name=\"number\" value=\"".htmlspecialchars($_REQUEST['number'])."\" size=\"4\">"; //Теперь вывожу описание и текстовое поле echo $caption, $tag."<br />"; //Здесь вывожу кнопку echo "<input type=submit value=\"Найти\">"; echo "</form>"; //Проверяем передан ли параметр после нажатия кнопки if ($_GET['number']) { //приводим к целому числу $get = intval($_GET['number']); $query ="SELECT * FROM mend WHERE id=$get"; $tbl = mysql_query($query); if(!$tbl) exit("Ошибка обращения к таблице<br \>{mysql_error()}<br \>$query"); $arr = array(); // Если имеется хотя бы один элемент, // заполняем массив $arr if(mysql_num_rows($tbl)) { $row1=mysql_fetch_array($tbl); //while ($arr[]= mysql_fetch_array($tbl)); ?> <table width="50%" height="100%" border="1" cellpadding="2" cellspacing="1"> <tr> <th> <?php echo $row1['id'] ?> </th> <th width="30" height="20" rowspan="2"><?php echo $row1['symbol'] ?></th> </tr> <tr> <th><?php echo $row1['weight'] ?></th> </tr> <tr> <th colspan="2"><?php echo $row1['name'] ?></th> </tr> <tr> <th colspan="2"><?php echo $row1['formula'] ?></th> </tr> </table> <?php } } ?> </body> </html>
Объяснение кода листинга программы
- Устанавливаем уровень обработки ошибок
- Подключаемся к БД
- Выбираем базу данных
- Устанавливаем кодировку соединения
- Проверяем соединение с БД
- Выводим форму
- Получаем значение параметра из формы
- Проверяем корректность введенного значения
- Формируем SQL запрос
- Выполняем SQL запрос
- Проверяем наличие результатов запроса
- Выводим результаты запроса в виде таблицы
- Закрываем соединение с БД
- Закрываем сессию PHP
- Включаем отображение ошибок
- Выводим сообщение об ошибке и номер ошибки
- Выводим описание и текстовое поле для ввода номера
- Выводим кнопку
Найти
- Проверяем, был ли передан параметр после нажатия кнопки
- Приводим полученное значение к целому числу
- Формируем SQL запрос с использованием переданного параметра
- Выполняем SQL запрос
- Проверяем наличие результатов запроса
- Выводим результаты запроса в виде таблицы
- Закрываем соединение с БД
- Закрываем сессию PHP
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д