SQLSEARCH

Добавление данных с формы с динамическими полями

Всем привет. Есть форма в ней все поля заполняются и имеют свой name=»» на input, и есть в конце заполнения динамические поля «Запчасть 1» и потом по кнопке через jquery добаляються еще поле «Запчасть 2» и т.д. Заполняю все заполняю к примеру два поля запчастей , нажимаю добавить заявку и всее добавляется все отлично, ну вот из динамических полей добавляется только одно значение. Как сделать так чтобы при заполнении этих полей они оба добавлялись в таблицу?

Добавлено через 40 минут
В интернете смотрел что возможно добавление через цикл , ну как это осуществить не понимаю

Добавление данных с формы в БД
Здравствуйте, помогите мне пожалуйста разобраться с кодом php, я хочу из формы внести данные в базу.

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

Добавление в таблицу данных из формы
Друзья прошу помощи, перечитал уже кучу материала в том числе и здесь на форуме, но воз и ныне там.

Добавление данных из формы в базу
Помогите найти ошибку, ничего не добавляется <form method="post".

input type="checkbox" name="zapchasti[]" value="какое-то значение" />
$array = $_POST['zapchasti']; $n = count($array); for($i=0; $i  $n; $i++){ $zapchast = $array[$i]; }

Сделал так как вы сказали, все также добавляется только первая запчасть последующие запчасти в таблицу parts не попадают

ну так это ж вам надо смотреть какие значения приходят в массив и разбираться почему не попадает.
у меня запрос внутри цикла такого типа работает

$sql = "INSERT INTO data(cat_id) VALUES($array[$i]);

аааа в VALUES array вставляется , а я $zapchst поставил

Добавлено через 10 минут
не работает. может вы меня не поняли что мне нужно? При заполнении формы есть jquery скрипт который добавляет дополнительные поля в форму, из которых все запчасти должны записываться в таблицу parts , ну записывается только одно поле, последующие созданные и заполненные через скрипт просто не идут в базу

ЦитатаСообщение от SpawnVL Посмотреть сообщение

не работает. может вы меня не поняли что мне нужно? При заполнении формы есть jquery скрипт который добавляет дополнительные поля в форму, из которых все запчасти должны записываться в таблицу parts , ну записывается только одно поле, последующие созданные и заполненные через скрипт просто не идут в базу

я вам просто написал пример как в одном инпуте через цикл передавать несколько значений и затем записывать это в базу, переделайте его под свою задачу, я же не буду за вас все делать )))

input name="product[]" value="Товар 1" /> input name="price[]" value="150" /> input name="product[]" value="Товар 2" /> input name="price[]" value="250" /> input name="product[]" value="Товар 3" /> input name="price[]" value="350" />
1 2 3 4 5 6 7 8 9 10 11 12
$_POST = array( 'product' => array( 'Товар 1', 'Товар 2', 'Товар 3' ), 'price' => array( '150', '250', '350' ), );

А если допустим запчастей штук 50 за раз надо отправить? Так и прописывать Запчасть 1 , запчасть 2, запчасть 3 и т.д. ? Извините меня я просто вообще не понимаю как это выводится

Добавлено через 11 минут
Код обработчика

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
$name = FormChars($_POST['name']); $city = FormChars($_POST['city']); $phone = FormChars($_POST['phone']); $email = FormChars($_POST['email']); $address = FormChars($_POST['address']); $status = 'Не указан'; $transport = 'Не указана'; $dostav = 0; $marka = FormChars($_POST['marka']); $model = FormChars($_POST['model']); $kuzov = FormChars($_POST['kuzov']); $dvig = FormChars($_POST['dvig']); $comment = FormChars($_POST['comment']); $added = $_SESSION['USER_NAME']; $namep = $_POST['namep']; $number = 1; $pricebuy = 0; $pricesale = 0; $allprice = 0; $itog = 0; mysqli_query($CONNECT, "INSERT INTO `order` VALUES ('', '$status', '$marka', '$model', '$kuzov', '$dvig', '$transport', '$dostav', '$comment', '$_SESSION[USER_NAME]', NOW())"); $Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `id` FROM `order` WHERE `id` = LAST_INSERT_ID();")); $id_order = $Row['id']; mysqli_query($CONNECT, "INSERT INTO `clients` VALUES ('', '$id_order', '$name', '$city', '$phone', '$email', '$address')"); mysqli_query($CONNECT, "INSERT INTO `parts` VALUES ('', '$id_order', '$namep', '$number', '$status', '$transport', '$pricebuy', '$pricesale', '$allprice', '$itog')"); header('Location: /application/material/id/'.$Row['id'].'');
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
form action="/form/add" method="post"> input type="text" name="name" placeholder="Ф.И.О. клиента" required> input type="text" name="city" placeholder="Город клиента"> input type="text" name="address" placeholder="Адрес клиента"> input type="text" name="phone" placeholder="Телефон клиента"> input type="text" name="email" placeholder="Email клиента"> select id="s1" size="1" name="marka" onchange="Populate(this,'s2');"> option value="select">Марка авто клиентаoption> option value="Audi">Audioption> option value="BMW">BMWoption> option value="Ford">Fordoption> option value="Honda">Hondaoption> option value="Hyundai">Hyundaioption> option value="Infiniti">Infinitioption> option value="LandRover">Land Roveroption> option value="Lexus">Lexusoption> option value="Mazda">Mazdaoption> option value="MercedesBenz">Mercedes-Benzoption> option value="Mitsubishi">Mitsubishioption> option value="Nissan">Nissanoption> option value="Porsche">Porscheoption> option value="Subaru">Subaruoption> option value="Suzuki">Suzukioption> option value="Toyota">Toyotaoption> option value="Volkswagen">Volkswagenoption> select> select id="s2" size="1" name="model" onchange="Populate(this,'s3');"> option value="select">Модель авто клиентаoption> select> input type="text" name="kuzov" placeholder="Номер кузова авто" required> input type="text" name="dvig" placeholder="Номер двигателя авто" required> textarea name="comment" placeholder="Комментарий к заявке">textarea> div> div> div class="col-lg-6"> div class="add-application-body"> div ID="items"> input type="text" name="namep[]" placeholder="Запчасть 1"> input type="button" class="btn btn-success parts" value="Еще запчасть" onClick="AddItem();" ID="add"> div> div> div class="add-botton"> div class="botton"> input class="btn btn-primary" type="submit" name="enter" value="Добавить заявку"> div> div> form>
var items=1; function AddItem() { div=document.getElementById("items"); button=document.getElementById("add"); items++; newitem="\"text\" name=\"namep[]"; newitem+="\" placeholder=\"Запчасть "+ items +" \">"; newnode=document.createElement("span"); newnode.innerHTML=newitem; div.insertBefore(newnode,button); }

И тут теперь тогда поновой задам вопрос как допустим 12 полей с одинаковыми атрибутами name=»namep», занести в таблицу `parts` и чтобы они все 12 разом туда добавились?

Источник

Динамическое формирование html элементов

Делаю небольшую такую СУБД, реализовал все основные функции для изменения/удаления/добавления записей, однако сделано это не очень удобно. Удаление и изменение записей осуществляется посредством введения id-записи, при большом количестве записей это не очень удобно. Хотел сделать что-то вроде интерфейса phpMyAdmin — рядом с записью имеются ярлычки удаления и изменения записи. Появилась проблема: Чтобы при нажатии на кнопку просиходило удаление, надо, чтобы кнопка сообщала php-обработчику id строки сама, делается это, насколько я знаю, только с помощью формы. HTML код таблицы с записями генерируется в php файле. Таким образом помещать форму в ячейку я не могу т.к. зарезервированные слова такие как post,id и т.д. не дают выполняться php коду. Подскажите как реализовать подобную систему или же предложите свою, буду рад любым советам, спасибо)

Динамическое формирование html кода
допустим у меня есть цикл for($i=0;i<10000;++$i) мне надо, что бы этот цикл выводил $i, причём.

Динамическое добавления элементов через html и их обработка
Привет всем. Как можно сделать динамическое добавление элементов текстового поля (2 штуки каждый.

Динамическое формирование страниц
Народ, помогите чайнику разобраться. В общем, задание такое: 1.Создать 3 файла с именами.

Динамическое формирование таблицы
У меня есть таблица MS SQL вида: Время/Айди/Значение 10:00 / 1 / 10 10:00 / 2 / 11.

Эксперт PHP

Кнопка удаления может выглядеть так:

input type="submit" name="delete[15]">
if(isset($_POST['delete'])) $id = key($_POST['delete']);

Для множественного удаления и для предотвращения случайного удаления обычно используются чекбоксы. Удаление отдельной записи также можно сделать по GET с подтверждением, например, на JS.

Имена чекбоксов/кнопок можно и не оборачивать в отдельный массив.

echo "id:Заказчик:УслугаПринял:Число:Исполнить до:Мастер:Приоритет:ПометкиДо сдачиСтатус:func:"; while($row = mysqli_fetch_assoc($result)) { echo "          д. "; }

Вписать код разметки? Имя (значение атрибута name) стройте на основе значения $row[‘id’] (один из способов вам уже показал Jodah).

Добавлено через 10 минут

ЦитатаСообщение от QuickDark Посмотреть сообщение

Редактирование/сохранение можно делать под отдельным адресом, например /тут_имя_таблицы/тут_id_объекта . В списке такие адреса не трудно формировать. Можно даже для многостраничного списка это сделать:
/тут_имя_таблицы?page=номер_страницы – страница списка;
/тут_имя_таблицы/тут_id_объекта?page=номер_страницы – форма редактирования с возможностью возврата на страницу списка, с которой форма открывалась.

miketomlin, Jodah, Я видимо туповат, все, что я вынес из ответа jodah — это то, что можно в кнопку удалить сразу помещать число, по которому дальше я смогу удалить строку, но у меня то проблема не в этом, мне нужно сначала сформировать в таблице эти кнопки с помощью пхп: «».Самое очевидное, что приходит в голову — это

echo "id:Заказчик:УслугаПринял:Число:Исполнить до:Мастер:Приоритет:ПометкиДо сдачиСтатус:func:"; while($row = mysqli_fetch_assoc($result)) { echo "          д. submit" name="delete[$row['id']]">"; }

То есть поместить в ячейку эту строку с input’oм а всю таблицу взять в тег form
Но php машина не дает выполнить этот код, т.к. не дает это вывести как текст, она реагирует на слова name и т.д.

Добавлено через 33 минуты
Поразрыхлял интернет, понял, что удобнее это будет сделать через ajax-запросы, если кому не лень будет, то помогите)

Источник

Set_value и динамическое добавление элементов формы

Есть темплейт формы,далее я с помощью js клонирую данный темплейт и создаю динамически.После отправки запроса нужно чтобы все динамически созданные блоки остались и в value занеслись значения из set_value. Если прописывать в каждом value маркер и потом его заменять на значение из set_value,то получается многоватово кода.Есть ли какое то другое решение более удобное?

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
$depFormTemplate =' 
'; if($this->input->post('department')){ foreach($this->input->post('department') as $key => $dep){ echo str_replace( array('%k', '%name', '%manager', '%work_time'), array( $key, set_value('department['.$key.'][name]'), set_value('department['.$key.'][manager]'), set_value('department['.$key.'][work_time]'), ), $depFormTemplate); } }else{ echo str_replace( array('%k', '%name', '%manager', '%work_time'), array(0, '', '', ''), $depFormTemplate); } ?>

Источник

Динамическое создание элементов формы с помощью php

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

Как я могу динамически добавлять эти дополнительные поля, когда пользователь нажимает кнопку?

 $column_names = explode(",", $column_names); ?>     
in "; echo ""; ?>

2 ответа

Эта функция добавляет элемент ввода и элемент выбора каждый раз, когда пользователь нажимает кнопку.

 function AddSelect() < var newInput = document.createElement('input'); newInput.type='text'; newInput.name = 'advtext[]'; $i) < echo "\tvar newOption" . $value . "=document.createElement('option')" . "\n"; echo "\tnewOption" . $value . ".value='" . $i . "';" . "\n"; echo "\tnewOption" . $value . ".innerHTML='" . $i . "';" . "\n\n"; >?> var newSelect = document.createElement('select'); newSelect.name = 'advselect[]'; $i) < echo "\tnewSelect.appendChild(newOption" . $value . ")" . "\n"; >?> var SubmitButton = document.forms.myform.searchbutton; document.forms.myform.insertBefore(newInput, SubmitButton); document.forms.myform.insertBefore(document.createTextNode(" in "), SubmitButton); document.forms.myform.insertBefore(newSelect, SubmitButton); > 

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

Источник

Читайте также:  Bootstrap based css framework
Оцените статью