Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63

Как вывести информацию из БД в тег <select>

02.02.2016, 20:58. Показов 3302. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, есть такой код:

HTML5
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
<html>
<head>
<title>Добавить книгу</title>
<link rel="stylesheet" type="text/css" href="Style.css">
</head>
<body link="#7B68EE" vlink="#7B68EE" alink="#7B68EE">
 
<form action="addbook.php" method="post" name="form2">
<table align="center", border = "1" class="table">
<tr><td><a href="main.html"><h1 align="center">На главную</h1></a></td></tr>
<td>Введите название книги:</td>
<tr><td align="center"><input type="text" name="name" size="70"></td></tr>
<td>Укажите автора:</td>
<tr><td align="center"><select size="3" multiple name="hero">
    <option value="Чебурашка">Чебурашка</option>
    <option selected value="Крокодил Гена">Крокодил Гена</option>
    <option value="Шапокляк">Шапокляк</option>
    <option value="Крыса Лариса">Крыса Лариса</option>
</select></td></tr>
<tr><td align="center"><input type="submit" name="buttonSubmit" value="Добавить"></td></tr>
</table>
</form>
 
</body>
</html>
Но в нем варианты в select записываются вручную, а мне надо что бы они подставлялись из таблицы в БД, как это можно реализовать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2016, 20:58
Ответы с готовыми решениями:

Как вывести из текстовой базы тег h1 в тег title ?
Такое дело, у меня сайт написан на php верх идёт отдельно verh.php в нем в title прописано &lt;? echo $title ?&gt; , а в conf.php...

Вывести информацию из таблицы SELECT
Здравствуйте! Есть база данных университета, нужно вывести: 2) Вывести имена преподавателей-доцентов и названия дисциплин, которые...

Тег SELECT
Проблема в IE 6. Он не реагирует на ширину SELECTа, всё равно оставляет его равным самой длинной строчке текста. А еще как сделать чтобы...

29
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
02.02.2016, 21:04
Интересно, о чём думают люди, когда задают вопросы, которые гуглятся за 5 секунд... тыц.
1
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 22:04  [ТС]
Jodah, я смотрел несколько вариантов, но так и не смог адаптировать к своему коду.

Добавлено через 47 минут
Так, я вроде сделал то, что хотел, но значения в БД все равно не записываются.

Тут форма
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
<?php
 
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "library_db";
$table = "author";
 
mysql_connect($hostname, $username, $password);
mysql_select_db($dbName);
mysql_query("set names cp1251");
 
$sotr = mysql_query("SELECT * FROM author");
 
?>
 
<html>
<head>
<title>Добавить книгу</title>
<link rel="stylesheet" type="text/css" href="Style.css">
</head>
<body link="#7B68EE" vlink="#7B68EE" alink="#7B68EE">
 
<form action="addbook.php" method="post" name="form2">
<table align="center", border = "1" class="table">
<tr><td><a href="main.html"><h1 align="center">На главную</h1></a></td></tr>
<td>Введите название книги:</td>
<tr><td align="center"><input type="text" name="name" size="70"></td></tr>
<td>Укажите автора:</td>
 
<?php
if ($sotr == true) 
{
     echo "<tr align='center'><td><select>";
     while ($s = mysql_fetch_array($sotr))
    {
          echo "<option>".$s['firstName']." ".$s['lastName']."</option>";
    }
     echo "</select></td></tr>";
}
?>
 
<tr><td align="center"><input type="submit" name="buttonSubmit" value="Добавить"></td></tr>
</table>
</form>
 
</body>
</html>
Это обработчик
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
 
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "library_db";
$table = "book";
 
mysql_connect($hostname, $username, $password);
mysql_select_db($dbName);
mysql_query("set names cp1251");
 
$query = "INSERT INTO $table SET name='".$_POST['name']."', author='".$_POST["author"]."'";
 
mysql_query($query);
mysql_close();
 
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Данные успешно сохранены!</font>
<a href=\"author.html\">Вернуться назад</a></div>");
 
?>
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
02.02.2016, 22:10
А чЁ долны? Вы спрашивали, как считывать данные из БД, а не записывать.
0
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 22:20  [ТС]
Все сделал, забыл для селекта указать имя в форме =)

Jodah, Спасибо за мотивацию)))).

Добавлено через 6 минут
miketomlin, Должно и записывает, но только с одиночным выбором. Подскажите как сделать что бы записывало несколько вариантов?

Добавил в селект - multiple, но если попытаться сохранить, сохранится только первая выбранная строчка.

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
if ($sotr == true) 
{
     echo "<tr align='center'><td><select multiple name='author'>";
     while ($s = mysql_fetch_array($sotr))
    {
          echo "<option>".$s['firstName']." ".$s['lastName']."</option>";
    }
     echo "</select></td></tr>";
}
?>
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
02.02.2016, 22:33
select multiple php
0
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 22:45  [ТС]
Понятно все с вами.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
02.02.2016, 23:05
С вами тоже. Переходим по первой ссылке в результатах поиска. И что же мы видим? О, чудо, – ответ на ваш вопрос.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
02.02.2016, 23:06
Konrak777, чтобы выбранный вариант отправился на сервер, нужно указать значение в атрибуте value тега <option>.
Например:

HTML5
1
2
3
<option value="1" >Вася</option>
<option value="3" >Петя</option>
<option value="8" >Гриша</option>
Обычно в value подставляется идентификатор, а между тегами - варианты, удобные для выбора юзером.
0
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 23:09  [ТС]
miketomlin, я нашел, но оно мне записывает просто слово Array вместо 2 выбранных значений.

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
<?
 
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "library_db";
$table = "book";
 
mysql_connect($hostname, $username, $password);
mysql_select_db($dbName);
mysql_query("set names cp1251");
 
foreach ($_POST['author'] as $names)
{
    $query = "INSERT INTO $table SET name='".$_POST['name']."', author='".$_POST["$names"]."'";
}
 
mysql_query($query);
mysql_close();
 
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Данные успешно сохранены!</font>
<a href=\"main.html\">Вернуться назад</a></div>");
 
?>
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
<?php
 
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "library_db";
$table = "author";
 
mysql_connect($hostname, $username, $password);
mysql_select_db($dbName);
mysql_query("set names cp1251");
 
$sotr = mysql_query("SELECT * FROM author");
 
?>
 
<html>
<head>
<title>Добавить книгу</title>
<link rel="stylesheet" type="text/css" href="Style.css">
</head>
<body link="#7B68EE" vlink="#7B68EE" alink="#7B68EE">
 
<form action="addbook.php" method="post" name="form2">
<table align="center", border = "1" class="table">
<tr><td><a href="main.html"><h1 align="center">На главную</h1></a></td></tr>
<td>Введите название книги:</td>
<tr><td align="center"><input type="text" name="name" size="70"></td></tr>
<td>Укажите автора(ов):</td>
 
<?php
if ($sotr == true) 
{
     echo "<tr align='center'><td><select multiple name='author[]'>";
     while ($s = mysql_fetch_array($sotr))
    {
          echo "<option>".$s['firstName']." ".$s['lastName']."</option>";
    }
     echo "</select></td></tr>";
}
?>
 
<tr><td align="center"><input type="submit" name="buttonSubmit" value="Добавить"></td></tr>
</table>
</form>
 
</body>
</html>
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
02.02.2016, 23:30
Значит, не дочитали. Теперь вы получаете массив значений и должны соответствующим образом к ним обращаться.

Добавлено через 3 минуты
Если вы используете форыч, то нужно-то уже писать просто $names.

Добавлено через 3 минуты
А еще почитайте про INSERT VALUES.
0
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 23:37  [ТС]
miketomlin, Обратился как надо, все равно записывается только 1 значение.

PHP
1
2
3
4
foreach ($_POST['author'] as $names)
{
    $query = "INSERT INTO $table SET name='".$_POST['name']."', author='$names'";
}
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
02.02.2016, 23:43
Konrak777, SET для UPDATE. Для INSERT используется VALUES.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
02.02.2016, 23:45
Какова структура таблицы? Есть инкрементальное поле или что-нибудь подобное?
0
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 23:48  [ТС]
Jodah, поменял, теперь вообще ничего не работает =\
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
02.02.2016, 23:49
Jodah, не, форма INSERT SET тоже есть.
1
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 23:51  [ТС]
miketomlin, вот картинка таблицы.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
02.02.2016, 23:54
И Хде там поля name и author?
0
5 / 5 / 0
Регистрация: 10.05.2012
Сообщений: 63
02.02.2016, 23:56  [ТС]
miketomlin, сори, чет я уже совсем поплыл. Вот нормальный скрин
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
02.02.2016, 23:59
Цитата Сообщение от miketomlin Посмотреть сообщение
Jodah, не, форма INSERT SET тоже есть.
А вот это новость для меня.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2016, 23:59
Помогаю со студенческими работами здесь

необязательный тег select
Здравствуйте форумчане , борюсь уже с этой проблемой несколько дней и уже решил написать тут.Если кто может подсказать , на сайте...

Тег SELECT (Выбор)
Всем привет! Как сдлеать селект вот: &lt;select&gt; ***&lt;option&gt;Пункт 1&lt;/option&gt; ***&lt;option&gt;Пункт 2&lt;/option&gt; ...

тег select + mysql
есть база данных с таблицей растениеводство. Есть select. В него я вывожу из базы культуру. Это я сделал так: echo...

Возврат значения в тег select
Не получается сделать так что бы полсле нажатия кнопки,месяц оставался тот который выбрал я,а не становился самый первый в списке. ...

выборка из mysql в тег select
Здравствуйте уважаемые форумчане. Вот такой вопрос есть тег select. Из mysql в элемент массива $row выводится значение, которое нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru