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

Выбор таблицы через select и запись данных в нее

04.11.2016, 05:50. Показов 873. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Имеется форма записи а также элемент select в ней, также имеются две таблицы в БД dentist и therapist с одинаковыми полями.
Написан обработчик который обрабатывает данные из формы и заносит их в таблицу therapist.
Нужно как нибудь задействовать элемент select чтобы он предлагал в какую таблицу ввести данные с формы.
А также дописать обработчик чтобы заносил данные не только в таблицу therapist но и dentist при выборе соответствующего пункта из select.
Множество сайтов пересмотрел на решение этой задачи но так что-то и не нашел.
Прошу помощи!


Форма записи:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form method="post" action="message.php">
        <input type="text" name="name" required placeholder="Ваше имя">
        <br>
        <input type="text" name="surname" required placeholder="Ваша фамилия">
        <br>
        <input type="text" name="middlename" required placeholder="Ваше отчество">
        <br>
        <input type="text" name="policynumber" required placeholder="Ваш номер полиса">
        <br>
        <input type="text" name="snils" required placeholder="Ваш снилс">
        <br>
<select name="doc">
    <option value="0">Выберите врача</option>
    <option value="therapist">Терапевт</option>
    <option value="dentist">Стоматолог</option>
        </select>
        <br>
        <br>
        <input type="date" name="dateofbirth" required placeholder="Дата рождения">
        <br><br>
    <input id="submit" type="submit" value="Отправить данные"><br/>
    </form>
Часть обработчика формы:
PHP
1
$dbh -> exec("INSERT INTO therapist( name, surname, middlename, dateofbirth, policynumber, snils) VALUES ( '$name', '$surname', '$middlename', '$dateofbirth', '$policynumber', $snils)");
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2016, 05:50
Ответы с готовыми решениями:

Заполнение таблицы mysql через форму и получение данных из нее
Таблица такая: id (это понятно) name (имя, соответственно) rent (здесь подразумевается, что будут только значения 0 или 1,причем при...

Выбор данных в форме из одной таблицы и запись в другую
Суть проблемы: Есть форма, источником данных для которой таблица 1. Это скажем так база в которой хранится вся информация. Там примерно...

выбор строки в бд и запись в неё
Здравтвуйте, мне нужно найти строку и записать в этой строке в нужные ячейки данные. Я пока не силён в mysql и сообразить не могу!...

9
2 / 2 / 2
Регистрация: 13.09.2013
Сообщений: 13
04.11.2016, 10:36
В обработчике if(($_request['какой-то переключатель']=='terapevt') {
подключение к базе , потом Insert в такую-то таблицу;
}
else {insert в другую}.
0
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 39
04.11.2016, 14:15  [ТС]
yuralucky, так, что то ошибку выводит синтаксическую.
PHP
1
2
3
if (($_request['<select name="doc">']=='therapist') {
"INSERT INTO thrapist";}
else "INSERT INTO dentist")
Подключение не стал писать так как оно уже задействовано в через PDO

Добавлено через 4 минуты
yuralucky, вот сам обработчик:
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
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$middlename = $_POST['middlename'];
$dateofbirth = $_POST['dateofbirth'];
$policynumber = $_POST['policynumber'];
$snils = $_POST['snils'];
try {
    $dbh = new PDO('mysql:host=localhost;dbname=Registry', 'root'); 
}  
    catch(PDOException $e) {  
    echo "Нет соединения с базой данных";  
}
try {
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->beginTransaction();
    $dbh -> exec("INSERT INTO therapist( name, surname, middlename, dateofbirth, policynumber, snils) VALUES ( '$name', '$surname', '$middlename', '$dateofbirth', '$policynumber', $snils)");
if (($_request['<select name="doc">']=='therapist') {
"INSERT INTO thrapist";}
 
else "INSERT INTO dentist");
 
    
    
    
} catch (Exception $e) {
    $dbh-> rollBack();
}
    header('Refresh:5; URL=http://localhost/site/site.html');
  echo 'Данные были полученны';
{
$dbh->commit();
}
?>
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
04.11.2016, 14:20
А при чем здесь сайты? Здесь простое понимание основ того что вы делаете. Это есть в любой книге для начинающих.
Сделайте выпадающий список с именем таблицы, а дальше
PHP
1
$table = $_POST['table'];
SQL
1
INSERT INTO '$table' ...
Только заэкранировать все и проверить. Или через switch сделать. Для большей безопасности.

Добавлено через 1 минуту
PHP
1
if (($_request['<select name="doc">']=='therapist') {
->
PHP
1
if ($_POST['doc']=='therapist') {
Добавлено через 2 минуты
Цитата Сообщение от SergSKH Посмотреть сообщение
if (($_request['<select name="doc">']=='therapist') { "INSERT INTO thrapist";} else "INSERT INTO dentist");
Вы хоть примерно понимаете что тут написано?
0
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 39
04.11.2016, 14:25  [ТС]
MadHatter, Частично. Я так понимаю то что вы написали нужно написать в обработчике?
А $table = $_POST['table']; в выпадающем списке?
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
04.11.2016, 14:29
SergSKH, нет. Вы знаете как делается выпадающий список?
0
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 39
04.11.2016, 14:31  [ТС]
MadHatter, К сожалению нет
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
04.11.2016, 14:34
SergSKH, А зачем вам тогда все это?
0
0 / 0 / 0
Регистрация: 09.05.2016
Сообщений: 39
04.11.2016, 14:37  [ТС]
MadHatter, для диплома

Добавлено через 1 минуту
MadHatter, вот что получилось:
PHP
1
2
3
4
5
6
7
8
9
10
11
<select name="therapist">
    <option value="0">Выберите врача</option>
    <option value="therapist">Терапевт</option>
    <option value="dentist">Стоматолог</option>
    <?
$table = $_POST['therapist'];
$table1 = $_POST['dentist'];
if ($_POST['therapist']=='therapist') {
    "INSERT INTO $table";}
    else "INSERT INTO $table1");
?>
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
04.11.2016, 17:35
SergSKH, ну это уже хоть что-то.
HTML5
1
2
3
4
5
Выберите врача
<select name="doctor">
    <option value="therapist" selected>Терапевт</option>
    <option value="dentist">Стоматолог</option>
</select>
PHP
1
$table = $_POST['doctor'];
SQL
1
INSERT INTO '$table' ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2016, 17:35
Помогаю со студенческими работами здесь

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

Выбор цвета через select
Доброго времени суток! Хочу узнать возможно ли как нибудь сделать выбор цвета с помощью выпадающего списка???? Если сделать вот так: ...

Выбор значения select через JQuery
Здравствуйте, уважаемые формучане! У меня возникла ситуация: есть некоторая форма. И в ней при надобности пользователь может добавить...

Обновление таблицы данными из неё же через запрос с inner join
Добрый день, требуется обновить поле field таблицы table для записей из запроса select * from table t inner join doc on...

Insert select, как скопировать записи таблицы в другую запись
Есть 2 документа, нужно записи с одного документа скопировать в другой документ INSERT INTO DMS SELECT * FROM DMS ds WHERE ds.NDM...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru