С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
1

Вывод данных из таблицы БД в список SELECT

20.09.2016, 07:50. Показов 4898. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый. В БД есть таблица "City" с названиями городов. Нужно их выводить в списке Select на форме который уже создан
HTML5
1
2
3
4
5
6
7
<select name="select">
    <option selected value="s1"></option>
    <option value="s2"></option>
    <option value="s3"></option>
    <option value="s4"></option>
   </select>
   <input type="submit" value="Отправить"></p>
Что не понятно- т.к. записей в таблице "City" может быть сколько угодно то вот это
HTML5
1
2
3
4
<option selected value="s1"></option>
    <option value="s2"></option>
    <option value="s3"></option>
    <option value="s4"></option>
Выводить не нужно? Они же динамически будут создаваться(сколько записей в таблице столько и будет?). И можете кинуть пример реализации?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.09.2016, 07:50
Ответы с готовыми решениями:

Вывод данных из БД в раскрывающийся список select
Всем доброго времени суток. Не могла найти понятного для себя по этой теме, сделала сама,...

Вывод данных из БД в список select
Доброго времени суток! Подскажите пожалуйста, как сделать, вот есть таблица в ней три поля фамилия,...

Выпадающий список и вывод данных из таблицы
Здравствуйте! Прошу вашей помощи, т.к. в PHP я абсолютный чайник. Есть 3 таблицы закупок в БД....

Вывод данных всего столбца таблицы Msql в спадающий список Html
Здравствуйте! Я новичок, что то не получается вот что...Есть таблица &quot;goods&quot; из нее нужно вывести...

15
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.09.2016, 08:20 2
Просто формуете массив из базы, а потом выводите в цикле:
PHP/HTML
1
2
3
<?php foreach($cities as $city):?>
<option value="<?=$city['id']?>"><?=$city['name']?></option>
<?php enforeach?>
0
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
20.09.2016, 09:56  [ТС] 3
Para bellum, я вас правильно понял, нужно делать так?
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
<html>
    <head>
    <title>Вставка данных в БД</title>
    </head>
    <body>
    
 
    <?php
 
    // Соединение с сервером БД
     mysql_connect("localhost", "name", "password") or die (mysql_error ());
 
    // Выбор БД
    mysql_select_db("Town") or die(mysql_error());
 
foreach($City as $cities):?>
<option value="<?=$cities['id']?>"><?=$cities['name']</option>
 enforeach
 
        
 
    mysql_query($strSQL) or die(mysql_error());
 
    // Закрытие соединения
    mysql_close();
    ?>
 
    
    </body>
    </html>
Не работает...
У меня: База данных Town, Таблица City
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.09.2016, 10:08 4
Почти правильно. С выводом, хотя и не заключили enforeach в теги PHP.
В целом же -- вообще неправильно. Почему вызывается mysql_query на несуществующей переменной? Надо сначала получить данные из таблицы, а потом выводить.
С foreach я, конечно, погорячился. Предполагалось, что у Вас логика приложения от логики отображения отделена.
В данном случае можно и while использоваться, сразу выводя результат.
PHP/HTML
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>
    </head>
    <body>
    
 
    <?php
 
    // Соединение с сервером БД
     mysql_connect("localhost", "name", "password") or die (mysql_error ());
 
    // Выбор БД
    mysql_select_db("Town") or die(mysql_error());
 
    // Получения данных из таблицы
    $result = mysql_query('SELECT * FROM `City`') or die(mysql_error());
    ?>
    <?php while($city = mysql_fetch_assoc($result)):?>
    <option value="<?=$city['id']?>"><?=$city['name']</option>
    <?php endwhile?>
 
    
    </body>
    </html>
0
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
20.09.2016, 11:12  [ТС] 5
Para bellum, Para bellum, выдаёт syntax error, unexpected '/' on line 20
PHP
1
<option value="<?=$city['id']?>"><?=$city['name']</option>
Может тут ошибка?
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.09.2016, 11:14 6
после ['name'] закрыть php блок забыли
1
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
20.09.2016, 11:22  [ТС] 7
Цитата Сообщение от СлаваВирус Посмотреть сообщение
после ['name'] закрыть php блок забыли
Сделал так:
PHP
1
<option value="<?=$city['id']?>"><?=$city['name']?>"></option>
Вместо списка SELECT отображается так : Москва"> Ростов">
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.09.2016, 11:34 8
PHP
1
<option value="<?=$city['id']?>"><?=$city['name']?></option>
Теперь переборщили)))
0
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
20.09.2016, 11:41  [ТС] 9
Цитата Сообщение от СлаваВирус Посмотреть сообщение
Теперь переборщили)))
Теперь отображается так: Москва Ростов. А нужно в списке SELECT. Может это из-за того что на форме нету SELECT?
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.09.2016, 11:43 10
Лучший ответ Сообщение было отмечено Briolin как решение

Решение

Цитата Сообщение от Briolin Посмотреть сообщение
Может это из-за того что на форме нету SELECT?
Конечно изза этого) не обратил внимания
PHP/HTML
1
2
3
4
5
<select name='city'>
    <?php while($city = mysql_fetch_assoc($result)):?>
    <option value="<?=$city['id']?>"><?=$city['name']</option>
    <?php endwhile?>
</select>
1
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
20.09.2016, 11:46  [ТС] 11
СлаваВирус, Большое спасибо!!!! А вопрос: а теперь значение которое я выбрал в SELECT , как вытащить можно?(я потом его в другую таблицу БД планирую заносить)
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.09.2016, 11:55 12
Во первых это все надо запихнуть в тег <form> с указанием места обработчика в атрибуте action... в самом обработчике написать код типа такого
PHP
1
2
3
4
 if(isset $_POST['submit']) { 
$city = $_POST['city']; // здесь идентификатор города id
// дальше пишете код для внесения в БД или что там хотите с ним сделать
}
1
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
20.09.2016, 12:06  [ТС] 13
СлаваВирус, я чуть по другому сделал. Еще раз спасибо
0
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
21.09.2016, 16:37  [ТС] 14
СлаваВирус, а вот твой код:
[PHP<select name='city'>
<?php while($city = mysql_fetch_assoc($result)):?>
<option value="<?=$city['id']?>"><?=$city['name']</option>
<?php endwhile?>
</select>][/PHP]

Он совместим с boostrap ? Я сейчас его подключил, и теперь снова в селект не попадают из базы значения, хотя ошибок не выдаёт

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
<form name="myForm" id="myForm" action="" method="post">
    <div class="container">
        <div class="row otstup">    
            <div class="col-md-9">
                <h2>Обычная форма</h2>
                <form role="form">
 
                    <label for="face">Имя</label>
        <input type="text" class="form-control" id="face" name="face" value="" placeholder="Введите country">
                  </div>
        
<select name='city'>
    <?php while($city = mysql_fetch_assoc($result)):?>
    <option value="<?=$city['id']?>"><?=$city['name']?></option>
 
    <?php endwhile?>
</select> 
               
     <button type="submit" name= "submit"  class="btn btn-default">Войти</button>
                </form>
            </div>
        </div>
  // Соединение с сервером БД
     mysql_connect("localhost", "name", "password") or die (mysql_error ());
 
    // Выбор БД
    mysql_select_db("Town") or die(mysql_error());
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
21.09.2016, 16:51 15
Briolin, Соединение с БД переместите в верхнюю часть кода, до вывода селекта...и не вижу в вашем коде сам запрос в БД
0
59 / 64 / 11
Регистрация: 13.11.2014
Сообщений: 940
21.09.2016, 17:19  [ТС] 16
Цитата Сообщение от СлаваВирус Посмотреть сообщение
Соединение с БД переместите в верхнюю часть кода, до вывода селекта...
Спасибо! А я мучился...
0
21.09.2016, 17:19
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.09.2016, 17:19
Помогаю со студенческими работами здесь

Выпадающий список (select) из всех записей таблицы
товарищи, пытаюсь сделать выпадающий список (select) из записей таблицы (название которой breed)....

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

Вывод данных в select из бд
всем привет. есть табличка в бд - category (id, name). надо все name вывести в select. пример - ...

Вывод данных в select
Привет всем. Нужна помощь с выводом данных из таблицы в select. Пока что у меня есть: &lt;tr&gt;...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru