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

Из БД в выпадающий список данные грузятся, а обратно нет (

21.11.2013, 18:13. Показов 802. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: загрузить в два окна из разных табличек данные, выбрать что-нибудь из первого окна и что-то из другого и эту парочку записать в третью табличку.

Загружаю все в выпадающий список (select), тут все в порядке,
нажимаю кнопку "Добавить" и... во-первых, сама кнопка пропадает, во-вторых, появляется сообщение "Ошибка добавления данных в БД".

Сделала echo ("$id_preceptor $id_section<br> <br>");
чтобы видеть что собственно пытается добавить, данные не верные, хотя хоть что-то выдает...
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<title>Mentors - ввод данных "Кто какие кружки ведет"</title>
</head>
<body bgcolor=#99CCC>
 
<table><td>
<form method='post' action='index.php'>
<input type=submit name="return" value="На главную страницу"/>
</form>
</td><td>
<form method='post' action='admin_main.php'>
<input type=submit name="return" value="На предыдущую страницу"/>
</form>
</td>
</table>
<h1>Ввод данных в базу "Дети"</h1><!--Заголовок HTML-->
<br><b>Выберите какие кружки будет вести педагог</b><br><br><br>
 
</body>
</html>
 
<?php
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
  //Подключаемся к БД
  $host = "localhost";
  $name = "root";
  $password = "";
  $db = "children";
  @mysql_connect($host,$name,$password) or die(mysql_error());
  @mysql_select_db($db) or die(mysql_error());
 
  //Выборка данных из таблицы Кружководы (preceptors)
  $query_prc=mysql_query("SELECT * from preceptors  ORDER BY last_name_prc asc");
  $kolstr_prc=mysql_num_rows($query_prc);
 
  //Создаем выпадающий список для Кружководов
echo ('<select name=spisok_prc maxlength=50 size=1>');
$i=0; 
while ($i < $kolstr_prc)
{  $row_prc=mysql_fetch_array($query_prc);
 
  $id_preceptor = $row_prc['id_preceptor'];
  $last_name_prc = $row_prc['last_name_prc'];
  $first_name_prc = $row_prc['first_name_prc'];
  $middle_name_prc = $row_prc['middle_name_prc'];
  
  echo ("<option value='.$id_preceptor.'>".$last_name_prc.' '.$first_name_prc.' '.$middle_name_prc."</option>");
  $i++;
  }
echo('</select>');  
  
//Выборка данных из таблицы Кружки (sections)
  $query_sct=mysql_query("SELECT * from sections ORDER BY name_sct asc");
  $kolstr_sct=mysql_num_rows($query_sct);
  echo('    '); 
   //Создаем выпадающий список для Кружков
echo ('<select name=spisok_sct maxlength=50 size=1>');
$j=0;
while ($j <$kolstr_sct)
{ $row_sct=mysql_fetch_array($query_sct);
 
  $id_section = $row_sct['id_section'];
  $name_sct = $row_sct['name_sct'];
  $profile_sct = $row_sct['profile_sct'];
  
  echo ("<option value='.$id_section.'>".$name_sct."</option>");
  $j++;
  }
 echo('</select>');  
 echo('<br>');
 
 
                              
 //Функция добавления данных в БД
  function getInsert($id_preceptor,$id_section)
  {$insert = mysql_query("INSERT INTO section_preceptor(id_preceptor,id_section) 
                            VALUES ('$id_preceptor','$id_section')");
    if(!$insert){return exit('Ошибка добавления данных в БД');}
     //Если данные добавились успешно
     echo "Данные успешно добавлены";
  }
  //Вызываем функцию только после нажатия кнопки "Добавить"
  if($_POST['add'])
    { 
    echo ("$id_preceptor $id_section<br> <br>");
 
    //Вызов функции getInsert()
   getInsert($_POST['spisok_prc'],$_POST['spisok_sct']);
}
?>
 
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<title>Mentors - ввод данных "Кто какие кружки ведет"</title>
</head>
<body bgcolor=#99CCC>
<br>
<form action="" method="post"><br>
<table>
<tr>
<input type=submit name="add" value="Добавить"/><!--&nbsp;-->
</tr></table></form>
 
</body>
</html>
Форма, с которой работаю.
Таблицы (нижние - из которых берутся данные, верхняя - в нее надо загрузить данные).
Миниатюры
Из БД в выпадающий список данные грузятся, а обратно нет (   Из БД в выпадающий список данные грузятся, а обратно нет (  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2013, 18:13
Ответы с готовыми решениями:

Данные из БД в выпадающий список
Всем привет. Такой вопрос. Сразу прошу прощения, так как я мало смыслю в PHP, но знаю что это всего несколько строчек кода. Так вот у меня...

Выпадающий список, данные из таблицы
Как заполнить выпадающий список данными из таблиц? В одной таблице содержится численное значение прав пользователя( 1- пользователь, 2 -...

Выпадающий список + подтянуть данные
Здравствуйте пожалуйста помогите как в экзел 2007 создат выподающий лист,с именами ,чтобы при нажатии на имя в соседней клетке показывало...

4
33 / 36 / 2
Регистрация: 28.04.2010
Сообщений: 571
21.11.2013, 18:47
select'ы болтаются где-то за пределами формы.

С кавычками тоже что-то напутано:
Цитата Сообщение от serebr Посмотреть сообщение
echo ("<option value='.$id_preceptor.'>".$last_name_prc .' '.$first_name_prc.' '.$middle_name_prc."</option>");
Цитата Сообщение от serebr Посмотреть сообщение
echo ("<option value='.$id_section.'>".$name_sct."</option>");
Здесь попробуйте с двойными кавычками:
Цитата Сообщение от serebr Посмотреть сообщение
$insert = mysql_query("INSERT INTO section_preceptor(id_preceptor,id_sectio n)
* * * * * * * * * * * * * * VALUES ('$id_preceptor','$id_section')");
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 3
21.11.2013, 19:02  [ТС]
Restel, да с кавычками вроде все нормально, по крайней мере в этой части кода все из уже заполненных таблиц нормально подгружается

Во втором echo, который вы подправили, вы просто заменили, чтобы вместо моих чистых id выводилось название, а не цифры, к тому же только одного окна. У меня практически тоже самое, только выводятся id, я потом это уберу, вставлено просто чтобы видеть что именно происходит.

Двойные кавычки не прошли.

Плюс ко всему, echo показывает, что не обращая внимания на выбранные пункты, выделяются строки с id - 001 из обоих окон.
Миниатюры
Из БД в выпадающий список данные грузятся, а обратно нет (  
0
33 / 36 / 2
Регистрация: 28.04.2010
Сообщений: 571
21.11.2013, 19:50
serebr, я ничего не правила, только цитировала Ваш код.
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 3
21.11.2013, 20:29  [ТС]
Поняла, я думала вы подправили мне нижний Echo, а это вы цитировали второй )

Добавлено через 36 минут
Все, проблему решали.

Надо было вставить form внутрь <? ?>
Вот что вышло (вдруг кому пригодится):
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<title>Mentors - ввод данных "Кто какие кружки ведет"</title>
</head>
<body bgcolor=#99CCC>
 
<table><td>
<form method='post' action='index.php'>
<input type=submit name="return" value="На главную страницу"/>
</form>
</td><td>
<form method='post' action='admin_main.php'>
<input type=submit name="return" value="На предыдущую страницу"/>
</form>
</td>
</table>
<h1>Ввод данных в базу "Дети"</h1><!--Заголовок HTML-->
<br><b>Выберите какие кружки будет вести педагог</b><br><br><br>
 
 
<?php
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
  //Подключаемся к БД
  $host = "localhost";
  $name = "root";
  $password = "";
  $db = "children";
  @mysql_connect($host,$name,$password) or die(mysql_error());
  @mysql_select_db($db) or die(mysql_error());
 
  //Выборка данных из таблицы Кружководы (preceptors)
  $query_prc=mysql_query("SELECT * from preceptors  ORDER BY last_name_prc asc");
  $kolstr_prc=mysql_num_rows($query_prc);
echo('<form action="" method="post"><br> <table>
<tr><td>');
 
  //Создаем выпадающий список для Кружководов
echo ('<select name=spisok_prc maxlength=50 size=1>');
$i=0; 
while ($i < $kolstr_prc)
{  $row_prc=mysql_fetch_array($query_prc);
 
  $id_preceptor = $row_prc['id_preceptor'];
  $last_name_prc = $row_prc['last_name_prc'];
  $first_name_prc = $row_prc['first_name_prc'];
  $middle_name_prc = $row_prc['middle_name_prc'];
  
  echo ("<option value='.$id_preceptor.'>".$last_name_prc.' '.$first_name_prc.' '.$middle_name_prc."</option>");
  $i++;
  }
echo('</select></td><td>');  
  
//Выборка данных из таблицы Кружки (sections)
  $query_sct=mysql_query("SELECT * from sections ORDER BY name_sct asc");
  $kolstr_sct=mysql_num_rows($query_sct);
  echo('    '); 
   //Создаем выпадающий список для Кружков
echo ('<select name=spisok_sct maxlength=50 size=1>');
$j=0;
while ($j <$kolstr_sct)
{ $row_sct=mysql_fetch_array($query_sct);
 
  $id_section = $row_sct['id_section'];
  $name_sct = $row_sct['name_sct'];
  $profile_sct = $row_sct['profile_sct'];
  
  echo ("<option value='.$id_section.'>".$name_sct."</option>");
  $j++;
  }
 echo('</select>  
</td></tr>
<tr><td>
<input type=submit name="add" value="Добавить"/><!--&nbsp;-->
</td><td></td></tr></table></form> ');
 
                              
 //Функция добавления данных в БД
  function getInsert($spisok_prc,$spisok_sct)
  {$insert = mysql_query("INSERT INTO section_preceptor(id_preceptor,id_section) 
                            VALUES ('$spisok_prc','$spisok_sct')");
    if(!$insert){return exit('Ошибка добавления данных в БД');}
     //Если данные добавились успешно
     echo "Данные успешно добавлены";
  }
  //Вызываем функцию только после нажатия кнопки "Добавить"
  if($_POST['add'])
    { 
    echo ("$spisok_prc $spisok_sct<br> <br>");
 
    //Вызов функции getInsert()
   getInsert($_POST['spisok_prc'],$_POST['spisok_sct']);
}
?>
 
 
 
</body>
</html>

Тема закрыта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2013, 20:29
Помогаю со студенческими работами здесь

Как в выпадающий список вывести данные из БД?
У меня в контроллере создается два выпадающих списка: SelectList students = new SelectList(db.Students, &quot;Id&quot;,...

В IE, кастомный выпадающий список: не выпадает список, если не хватает места снизу
Только в IE. не работает кастомный выпадающий список, если недостаточно места снизу. Какие варианты решения есть?

jqGrid не грузятся данные
Попробывал поюзать jqGrid, но данные почему-то не грузятся вот страница на которой jqGrid &lt;!DOCTYPE HTML&gt; &lt;html&gt; ...

не грузятся данные в таблицу 2
В общем то уже пытался решить проблему(https://www.cyberforum.ru/php-beginners/thread1736033.html), но сейчас она более конкретизировалась,...

В DataGridView не грузятся данные, как исправить
При открытии формы с таблицами почему то не загружаются в DataGridView данные, вроде бы все правильно сделал. Работаю с Visual Studio...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru