Вывести нужные элементы из базы данных, отобранных по параметрам, вводимым пользователем - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д