Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
Владимир23
4 / 4 / 2
Регистрация: 01.11.2009
Сообщений: 513
#1

Обработка формы выбора и вставка данных в БД - PHP

22.07.2015, 08:26. Просмотров 253. Ответов 8
Метки нет (Все метки)

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

Кликните здесь для просмотра всего текста
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
<form action='' method='POST'>
<input type='submit' name='submit' value='Сохранить'>
<?php
//присваиваем типы работ переменной
while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)){
$Name[] = $row2['Name'];
$W_id[] = $row2['Id'];// типы работ (выходной, рабочий и пр.)
};
//echo print_r($Name);
///выводим список группы + форма типа работы
 
 
/*
 
for ($d = 0; $d < count($W_id); $d++) 
{  
echo $W_id["$d"]." - ".$Name["$d"]."</br>";
}; 
*/
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
 
?>
<tr><td style ='width: 40%'><?php echo $row['Name'];?></td><td>
 
<!-- форма выбора типа работы -->
 
<select class='input' type=text name=<?php echo $row['user_id']?> value="<?php echo $row['user_id'];?>>"; 
 
<?php
for ($d = 0; $d < count($W_id); $d++) 
{  
?>
 
<option value="<?php echo $W_id["$d"];?>"><?php echo $Name["$d"];?></option>
 
<?php
}; 
?>
</select><td>
<input type='text' name='Comment[]' size='40' placeholder='Комментарий'>
</td>
 
<?php
//echo "Comment"."_".$row['user_id']
}
 
?>
</form>

т.е у меня post'ом отправляются данные: id сотрудника, id выбранного типа работы и комментарий к типу работы этого сотрудника. Но меня смущает тот факт, что массив комментариев находится внутри элемента массива post:
Array ( [submit] => Сохранить [314] => 2 [Comment] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => [11] => ) [486] => 2 [457] => 2 [125] => 2 [358] => 2 [353] => 2 [386] => 2 [571] => 2 [424] => 2 [298] => 2 [481] => 2 [441] => 2 [view] => article [option] => com_content ) 1;
я ранее форечем проходил по post'у и в ключ-значение получал id сотрудника и id типа работы, а счас ересть какая-то...как мне правильно обработать форму?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2015, 08:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка формы выбора и вставка данных в БД (PHP):

Обработка данных формы - PHP
Здравствуйте. Собственно вопрос в следующем - есть форма к примеру для отправки данных о человеке с двумя полями имя и телефон: ...

Обработка данных формы - PHP
есть такой код if(strtolower(substr($input, 0, 4))!=='https') { $input = 'https://vk.com/'.$input; } ...

Обработка данных формы - PHP
Всем привет. Есть проблема обработки данных с html формы. Есть форма: ... &lt;form action=&quot;mess.php&quot; method=&quot;POST&quot;&gt; &lt;input...

Обработка данных из формы - PHP
Есть проблемка, не знаю как решить ее. В магазине пользователь выбирает несколько товаров. После заказа они через цикл собираются в одну...

Обработка формы. Добавление данных в БД - PHP
Всем привет! У меня есть форма. Данные, введенные в поля формы записываю в таблицу БД. &lt;?php function connect_db() { ...

Обработка формы, проверка типа данных - PHP
Здравствуйте. Через форму передаю определенное число: &lt;input type=&quot;text&quot; name=&quot;number&quot; value=&quot;0&quot; size=&quot;5&quot;&gt; Далее в скрипте проверяю...

8
Laroux
170 / 165 / 55
Регистрация: 21.11.2014
Сообщений: 1,402
22.07.2015, 09:21 #2
HTML5
1
<input type='text' name='Comment[]' size='40' placeholder='Комментарий'>
замените на
HTML5
1
<input type='text' name='Comment' size='40' placeholder='Комментарий'>
Добавлено через 1 минуту
Второй вариант: в foreache-е напишите еще условие, что если ключ равен Comment, то еще и по нему пройтись foreache-ем
0
Владимир23
4 / 4 / 2
Регистрация: 01.11.2009
Сообщений: 513
22.07.2015, 09:26  [ТС] #3
Цитата Сообщение от Laroux Посмотреть сообщение
Код HTML5
1
<input type='text' name='Comment[]' size='40' placeholder='Комментарий'>
замените на
Код HTML5
1
<input type='text' name='Comment' size='40' placeholder='Комментарий'>
Добавлено через 1 минуту
Второй вариант: в foreache-е напишите еще условие, что если ключ равен Comment, то еще и по нему пройтись foreache-ем
сделал немного по другому - в результате 2 отдельных массива с типами работ и комментариями, но не могу теперь вставку в БД сделать
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
for ($i = 0; $i < count($id); $i++)
{
 
    $stmt5 = $dbh->prepare("INSERT INTO uvpz.tabel(uvpz.tabel.date, uvpz.tabel.group_id, uvpz.tabel.user_id,
        uvpz.tabel.work_type,uvpz.tabel.comment ) VALUES ('$date',$group_id,$id[$i],$Work_id[$i],$Comment[$i]')");
        
        $stmt5->execute();
        
    $SEL = "INSERT INTO uvpz.tabel(uvpz.tabel.date, uvpz.tabel.group_id, uvpz.tabel.user_id,
        uvpz.tabel.work_type,uvpz.tabel.comment ) VALUES ('$date',$group_id,$id[$i],$Work_id[$i],'$Comment[$i]')";
    echo $SEL."</br>";
    
    }
так не хочет вставлять, но если взять текст запроса из $SEL и выполнить его в воркбенче - запись вставляется...что за х...
вот пример генерируемого запроса в цикле:
SQL
1
INSERT INTO uvpz.tabel(uvpz.tabel.date, uvpz.tabel.group_id, uvpz.tabel.user_id, uvpz.tabel.work_type,uvpz.tabel.comment ) VALUES ('2015-07-22',17,486,2,'вапвап')
0
Laroux
170 / 165 / 55
Регистрация: 21.11.2014
Сообщений: 1,402
22.07.2015, 09:28 #4
"не хочет"?)) Пишет то что?
0
Владимир23
4 / 4 / 2
Регистрация: 01.11.2009
Сообщений: 513
22.07.2015, 09:35  [ТС] #5
Цитата Сообщение от Laroux Посмотреть сообщение
"не хочет"?)) Пишет то что?
ничего абсолютно..
0
Laroux
170 / 165 / 55
Регистрация: 21.11.2014
Сообщений: 1,402
22.07.2015, 09:48 #6
блин, стыдно признаться, но я процедурщик до мозга костей. И как работает вот эта связка
PHP
1
2
3
4
$stmt5 = $dbh->prepare("INSERT INTO uvpz.tabel(uvpz.tabel.date, uvpz.tabel.group_id, uvpz.tabel.user_id,
        uvpz.tabel.work_type,uvpz.tabel.comment ) VALUES ('$date',$group_id,$id[$i],$Work_id[$i],$Comment[$i]')");
        
        $stmt5->execute();
я точно не знаю. Визуально вроде все понятно и логично, но может там какие-то фишечки есть, о которых я не знаю...

Добавлено через 3 минуты
а ну-ка скопируйте прямо отсюда строку и вставьте
PHP
1
$stmt5 = $dbh->prepare("INSERT INTO uvpz.tabel (uvpz.tabel.date,uvpz.tabel.group_id,uvpz.tabel.user_id,uvpz.tabel.work_type,uvpz.tabel.comment) VALUES ('$date',$group_id,$id[$i],$Work_id[$i],'$Comment[$i]')");
1
Владимир23
4 / 4 / 2
Регистрация: 01.11.2009
Сообщений: 513
22.07.2015, 09:58  [ТС] #7
Цитата Сообщение от Laroux Посмотреть сообщение
а ну-ка скопируйте прямо отсюда строку и вставьте
не дало результата...
не могу проверку на выполнение найти для данной связи
0
Laroux
170 / 165 / 55
Регистрация: 21.11.2014
Сообщений: 1,402
22.07.2015, 10:00 #8
http://php.net/manual/ru/mysqli.quickstart.prepared-statements.php тут проверки описаны
0
Владимир23
4 / 4 / 2
Регистрация: 01.11.2009
Сообщений: 513
22.07.2015, 10:09  [ТС] #9
Цитата Сообщение от Владимир23 Посмотреть сообщение
Сообщение от Laroux
а ну-ка скопируйте прямо отсюда строку и вставьте
не дало результата...
не могу проверку на выполнение найти для данной связи
все,это я туплю....кавычки не хватало, когда добавил - данные вставились...
0
22.07.2015, 10:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2015, 10:09
Привет! Вот еще темы с ответами:

Обработка формы с сохранением введенных данных - PHP
Всем доброго времени суток, стоит специфическая задача, на странице около 14 форм, которые передаются на сервер где пыха их заносит в...

Обработка формы. Запись данных в базу - PHP
Добрый день господа, Есть проблема с записью данных в базу. Помогите решить. Вот такой фрагмент кода в обработчике формы: //Вставляем...

Обработка данных из формы перед отправкой - PHP
Здравствуйте! Требуется помощь в таком вопросе, есть форма куда вносится информация, а затем по нажатию кнопки отправляется в базу...

Обработка выбора из выпадающего списка - PHP
Привет всем! Не могу воплотить такую распространенную вроде бы вещь как вывод на экран данных, содержащих в одном поле одинаковые значения....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru