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

Как записать в список <SELECT> строки из Mysql?

21.04.2013, 21:30. Показов 3013. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! я в этих делах новичек, по этому не судите строго=)
Делал форму добавления товаров на сайт наткнулся на проблему... Я не знаю как вывести из базы mysql строки в список. И что бы при этом Категория которая была выбрана в списке была занесена в базу данных.
Вот интерфейс:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<table align="center">
    <form enctype="multipart/form-data" method="post" action="code.php">
        <tr>
<td>Наименование</td>
<td><input type="text" name="title"></td>
        </tr>
        <tr>
<td>Производитель</td>
<td><input type="text" name="prod"></td>
        </tr>
        <tr>
<td>Размер</td>
<td><input type="text" name="size"></td>
        </tr>
            <tr>
<td>Цвет</td>
<td><input type="text" name="color"></td>
        </tr>
        <tr>
<td>Категория</td>
<td><SELECT name="type">
<option name=""> </option>
</SELECT></td>
</tr>
<tr>
<td>Описание</td>
<td><input type="text" name="descr"></td>
</tr>
<tr>
<td>Цена</td>
<td><input type="text" name="price"></td>
</tr>
<tr>
<td>Фото</td>
<td><input type="file" name="photo" ></td>
<tr>
<td colspan="2" align="center"><input type="submit" value="Добавить" name="add"></td>
</tr>
</form>
</table>
<hr />
вот php(Переменная $type была заделанна под текстовое поле):

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
<?php
echo " <a href='manager.php'> на страницу менеджера<a/><br />";
if (isset($_POST["add"]))
{
 $title=$_POST["title"];
$prod=$_POST["prod"];
$size=$_POST["size"];
$color=$_POST["color"];
$type=$_POST["type"];
$descr=$_POST["descr"];
$price=$_POST["price"];
$error="Ошибка";
if($title==0 or $prod==0 or $size==0  or $type==0 or $descr==0 or (empty($_FILES['photo']['name'])))
 {
echo "Заполните все поля <br>";
 }
else
{
$con = mysql_connect("localhost","root",""); 
 
 
 
if (!$con) //Проверка варианта в случае не удачного подключения
  {
  die('Could not connect: ' . mysql_error());//вывод ошибки в случае неудачного подключения
  }
mysql_select_db ("babyku"); // подключаемся к нашей базе данных
mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");
$reg = mysql_query ("INSERT INTO tovar (`title`,`prod`,`size`,`color`,`type`,`descr`,`price`) VALUES ('$title','$prod','$size','$color','$type','$descr','$price')"); 
$id=mysql_insert_id();
 
mysql_close($con);
 
if (is_uploaded_file($_FILES ['photo']['tmp_name'])) // Если файл присутствует то...
{
$dir="../foto/"; //присваиваем переменной $dir путь в папку с фото
move_uploaded_file($_FILES['photo'] ['tmp_name'],$dir.$id.".jpg"); //Загружаем файл на сервер с директорией $dir, имя будет id строки из базы данных, разрешение jpg.
 
}
elseif ($_FILES["photo"]['error']==1)
{
echo "Размер файла превышает макс. значение";
}
elseif ($_FILES["photo"]['error']==2)
{
echo "Размер файла превышает макс. значение";
}
 
elseif ($_FILES["photo"]['error']==3)
{
echo "Файл загружен не полностью";
}
 
elseif ($_FILES["photo"]['error']==4)
{
echo "ошибка Файл не загружен";
}
}
}
 
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2013, 21:30
Ответы с готовыми решениями:

Как записать список из строки слов
Помогите, как записать список из строки слов, которые отделены друг от друга.

Из каждой строки удалить все цифры, и не содержащие цифр строки записать в новый список
Здравствуйте. Я полнейший нуб в прологе, заранее извиняюсь, не могли бы вы мне подсказать, как решить задачу: Задан список слов, каждое...

Как написать запрос Select в MySql?
Нужно написать запрос в б/д mysql_query(&quot;SELECT * FROM `table_name` WHERE `fio` = $nomid &quot;) но проверку WHERE нужно сделать не на...

27
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
21.04.2013, 22:59
Сначала подключишься к БД, а потом
PHP
1
2
3
4
5
6
7
8
9
<td><SELECT name="type">
<?php
$result = mysql_query("SELECT * FROM tovar")
while ($myrow = mysql_fetch_array($result)){
     echo "<option name='".$myrow[type]."'>".$myrow[type]."</option>";
}
?>
</SELECT>
</td>
1
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 00:40  [ТС]
Ага пару ошибок исправил, но спасибо большое вроде пошло, теперь другая делема вылезла, кодировка ни в какую не хочет читать из базы данных русские буквы, выводит крокозябры.

И ещё как высчитать что выбрано в списке и записать в другую таблицу mysql.
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 00:42
А в какой кодировке html выводится?
если Вы поставили:
PHP
1
2
<?php mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'"); ?>
то должна быть windows-1251
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 01:10  [ТС]
Насколько я понимаю в шапке должно юбыть что то вроде
HTML5
1
2
3
4
5
<!DOCTYPE html>
<HTML>
<head>
<meta charset="windows-1251">
</head>
В любом случае не получаеться.
записи в type я добавлял вручную в самом phpMyAdmin на Денвере, честно не знаю какая там кодировка.
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 01:12
а в какой кодировке вы сохранили файл html? А точнее в каком редакторе пишете
1
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 01:18  [ТС]
Цитата Сообщение от Donald28 Посмотреть сообщение
а в какой кодировке вы сохранили файл html? А точнее в каком редакторе пишете
Вот спасибо за такие вопросы, разобрался. Пишу в NotePad++. Кодировка была ANSI.
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 01:20
Хм, если была ANSI, то должно выводить нормально по идее.
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 01:24  [ТС]
Скорее всего в mysql кодировка utf-8 стоит.

когда создавал смутно помню что в настройка её ставил.
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 01:32
Ну тогда есть 3 варианта:
1. менять в БД через phpAdmin кодировку поля type (думаю там проблем не возникнет), но при этом вроде придется перезаписывать записи.

2. наоборот все писать в utf-8. Придется и сам денвер перенастроить (тут есть инструкция http://exclusiveblog.ru/markup... -v-denwere)

3. Использовать функцию iconv при выводе данных из БД (http://www.php.su/iconv)
1
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 01:41  [ТС]
За ссылки спасибо выбрал 2 способ.
На сколько я понял для 2 вопроса лучше отдельную тему создать?
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 01:44
да не за чем. Просто все файлы php и html преобразуете в UTF-8 без BOM и сохраняете. Меняете в meta на utf-8
и строчки:
PHP
1
2
<?php mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'"); ?>
по идее не нужны.
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 01:50  [ТС]
Нет, я не про это, мне нужно выбор из списка вместе с заполненными полями вписать в таблицу, с полями я разобрался, а вот со списком проблема.
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 01:54
ну а какие там ошибки вылезают?
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 02:04  [ТС]
У меня стоит проверка на пустоту какого либо поля, так вот при заполнении всех полей пишет что какое то из полей не заполненно, я подозреваю что этот список передаёт пустое поле.
Список
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<td><SELECT >
<?php
mysql_connect ("localhost","root","");// включаем mysql
mysql_select_db ("babyku"); // подключаемся к нашей базе данных
$res = mysql_query ("select * from type");  //присваиваем переменную к таблице
while($t = mysql_fetch_array($res))
 { 
$ptype = mysql_fetch_row(mysql_query("select title from type where T_ID={$t['T_ID']}"));
 
echo "<option name='type'>{$ptype[0]}</option>";
 
}
?>
</SELECT></td>
code.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
<?php
echo " <a href='manager.php'> на страницу менеджера<a/><br />";
if (isset($_POST["add"]))
{
 $title=$_POST["title"];
$prod=$_POST["prod"];
$size=$_POST["size"];
$color=$_POST["color"];
$type=$_POST["type"];
$descr=$_POST["descr"];
$price=$_POST["price"];
$error="Ошибка";
if($title==0 or $prod==0 or $size==0  or $type==0 or $descr==0 or (empty($_FILES['photo']['name'])))
 {
echo "Заполните все поля <br>";
 }
else
{
$con = mysql_connect("localhost","root",""); 
 
 
 
if (!$con) //Проверка варианта в случае не удачного подключения
  {
  die('Could not connect: ' . mysql_error());//вывод ошибки в случае неудачного подключения
  }
mysql_select_db ("babyku"); // подключаемся к нашей базе данных
 
$reg = mysql_query ("INSERT INTO tovar (`title`,`prod`,`size`,`color`,`type`,`descr`,`price`) VALUES ('$title','$prod','$size','$color','$type','$descr','$price')"); 
$id=mysql_insert_id();
 
mysql_close($con);
 
if (is_uploaded_file($_FILES ['photo']['tmp_name'])) // Если файл присутствует то...
{
$dir="../foto/"; //присваиваем переменной $dir путь в папку с фото
move_uploaded_file($_FILES['photo'] ['tmp_name'],$dir.$id.".jpg"); //Загружаем файл на сервер с директорией $dir, имя будет id строки из базы данных, разрешение jpg.
 
}
elseif ($_FILES["photo"]['error']==1)
{
echo "Размер файла превышает макс. значение";
}
elseif ($_FILES["photo"]['error']==2)
{
echo "Размер файла превышает макс. значение";
}
 
elseif ($_FILES["photo"]['error']==3)
{
echo "Файл загружен не полностью";
}
 
elseif ($_FILES["photo"]['error']==4)
{
echo "ошибка Файл не загружен";
}
}
}
 
?>

P.S. пробовал убрать из условия or $type==0 всё заполняеться норм... кроме категории(((
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 02:05
Цитата Сообщение от Kiris90 Посмотреть сообщение
echo "<option name='type'>{$ptype[0]}</option>";
перепишите:
PHP
1
2
3
<?php
echo "<option value='{$ptype[0]}'>{$ptype[0]}</option>";
?>
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 02:18  [ТС]
Та же история, но теперь при удалении условия or $type==0 ошибок не выскакивает, но и в базу вообще ничего не записывает.
Как я понял нужно передать выбор в $type.
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 02:22
атрибут name должен быть у select а не у option
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 25
22.04.2013, 02:25  [ТС]
всё равно ругаеться(((
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
22.04.2013, 02:29
приведите код списка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.04.2013, 02:29
Помогаю со студенческими работами здесь

Как присвоить select'y значение из таблицы MySql?
У меня есть таблица MySql, в ней есть 3 поля: день, месяц и год рождения, которые выбирают при регистрации. Теперь я хочу сделать изменение...

Как получить данные из select и записать в бд
Есть страница с тестом, в нем есть поле со списком, данные в которое я получаю из БД, потом идут ответы на вопросы и они должны...

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

Как добавить в mysql из выбранного SELECT через ajax?
Есть таблица. Два столбца - Дисциплина и Ответственный. В первый из базы mysql подгружается список дисциплин: &lt;?php $query...

Как выводить похожие записи в select на php MYSQL
Как выводить похожие слова на &lt;select&gt; например: Я ищу в БД слова смерт и поиск должен выдать мне в &lt;select&gt; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru