Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/48: Рейтинг темы: голосов - 48, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 17
1

Обработка нескольких форм, одной кнопкой

12.02.2010, 10:25. Показов 8762. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте подскажите плиз. У меня есть БД в ней хранятся вопросы, к каждому вопросу нужно сделать выбор варианта ответа и добавление комментария, типа как тестирование. Я сделал что на каждый выведенный вопрос выводятся radio кнопки для выбора ответа и textarea для вводы комментария. Как сделать чтобы передавалось на обработчик все одной кнопкой.

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
include ("config.php"); //фаил подключения к базе данных
$result = mysql_query("SELECT * FROM swot_ques") or die ('Невозможно подключиться к БД!!!'); 
while ($row = mysql_fetch_array($result)) { 
echo "<table border=\"0\" width=\"100%\">
<tr>
<td align=\"right\">                            
$row[id]. $row[title] 
</td>
<td>
                            
<form action=\"test_2.php\" method=\"post\">                        
<input type=\"radio\" name=\"estim\" value=\"1\" /> &nbsp;
<input type=\"radio\" name=\"estim\" value=\"2\" /> &nbsp;
<input type=\"radio\" name=\"estim\" value=\"3\" /> &nbsp;
<input type=\"radio\" name=\"estim\" value=\"4\" /> &nbsp;
<input type=\"radio\" name=\"estim\" value=\"5\" /> &nbsp;
<input type=\"radio\" name=\"estim\" value=\"6\" /> &nbsp;
<input type=\"radio\" name=\"estim\" value=\"7\" /> &nbsp;&nbsp;
                                                            
<textarea name=\"comment\" cols=\"23\" rows=\"2\"> </textarea>
<input type=\"submit\" name=\"submit\" value=\"Ok!\">
</form>
                            
</td>
</tr>
</table>";
}
Добавлено через 2 минуты
Был еще такой вначале вариант

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
    <?php   
                include ("config.php"); //фаил подключения к базе данных
                $result = mysql_query("SELECT * FROM swot_ques") or die ('Невозможно подключиться к БД!!!'); 
                while ($row = mysql_fetch_array($result)) { 
                    echo "<table border=\"0\">
                    <tr><td>
                    $row[id]. $row[title]<br><br><br>
                    </td></tr>
                    </table>";
                }   
            ?>
            </td>
            <td>
            <?php
                //получаем кол-во строк, в таблице swot_ques
                $handle_1 = mysql_query("select count(1) from swot_ques");
                $quantity_1  = mysql_fetch_array($handle_1);
                //echo "$quantity[0]"; 
                
                $x=0;
                while ($x++<$quantity_1[0])
                
                $a = 0;
                $num_1 = 0; // число с которого начинается счёт, для name                                    print_r($num);
                while ($a < $quantity_1[0])
                
                {
                    echo "<table border=\"0\">
                    <tr><td>
                    <form action=\"test_1.php\" method=\"post\" name=\"" . $num_1++ . "\">
                        <input type=\"radio\" name=\"1\" value=\"1\" />
                        <input type=\"radio\" name=\"1\" value=\"2\" />
                        <input type=\"radio\" name=\"1\" value=\"3\" />
                        <input type=\"radio\" name=\"1\" value=\"4\" />
                        <input type=\"radio\" name=\"1\" value=\"5\" />
                        <input type=\"radio\" name=\"1\" value=\"6\" />
                        <input type=\"radio\" name=\"1\" value=\"7\" />
                        <input type=\"submit\" name=\"submit\" value=\"Далее\">
                    </form>
                    </td></tr>
                    </table>";
                    $a ++;
                }
            ?>
            </td>
            <td>
            <?php
                //получаем кол-во строк, в таблице swot_ques
                $handle_2 = mysql_query("select count(1) from swot_ques");
                $quantity_2  = mysql_fetch_array($handle_2);
                //echo "$quantity[0]"; 
                
                $x=0;
                while ($x++<$quantity_2[0])
                
                $a = 0;
                $num_2 = 0; // число с которого начинается счёт, для name
                while ($a < $quantity_2[0])
                
                {
                    echo "<table border=\"0\">
                    <tr><td>
                    <form action=\"\" method=\"post\" name=\"" . $num_2++ . "\">
                        <textarea name=\"1\" cols=\"24\" rows=\"3\"> print_r($num_2); </textarea>
                    </form>
                    </td></tr>
                    </table>";
                    $a ++;
                }
            ?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2010, 10:25
Ответы с готовыми решениями:

Как сделать несколько форм с одной общей кнопкой сохранения
Имеется одна фотография. Ее нужно вывести n количество раз(в базе задает сам пользователь) и после...

Одновременная обработка данных нескольких форм
Как обработать несколько форм с одной кнопкой? Допустим есть 3 формы select нужно выбрать значение...

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

Обработка нескольких кнопок в одной форме
Есть несколько групп radiobutton. Нужно, когда пользователь выберет комбинацию кнопок, обработать...

5
68 / 61 / 11
Регистрация: 10.08.2009
Сообщений: 226
12.02.2010, 11:33 2
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
 
include ("config.php"); //фаил подключения к базе данных
$result = mysql_query("SELECT * FROM swot_ques") or die ('Невозможно подключиться к БД!!!'); 
echo "<form action=\"test_2.php\" method=\"post\">";
while ($row = mysql_fetch_array($result)) { 
echo "<table border=\"0\" width=\"100%\">
<tr>
<td align=\"right\">                                                    
$row[id]. $row[title] 
</td>
<td>
                                                        
<input type=\"radio\" name=\"estim$row[id]\" value=\"1\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"2\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"3\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"4\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"5\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"6\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"7\" /> &nbsp;&nbsp;
                                                                                                                        
<textarea name=\"comment$row[id]\" cols=\"23\" rows=\"2\"> </textarea>
 
                                                        
</td>
</tr>
</table>";
<input type=\"submit\" name=\"submit\" value=\"Ok!\">
</form>
}
0
Программист
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
12.02.2010, 11:40 3
а зачем для этого создавать много форм? запихни всё в одну и всё. А вообще,чтобы отправить несколько форм одной кнопкой используй яваскрипт.Например использйю jQuery это можно реализовать так
Javascript
1
2
3
4
function submiter (){
$('#form_id').submit();
$('#form_id2').submit();
}
и т.д.
сажаешь это на событие клика по кнопке
HTML5
1
<input type="button" onclick="submiter();">
0
68 / 61 / 11
Регистрация: 10.08.2009
Сообщений: 226
12.02.2010, 11:45 4
т.е. так:
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
 
include ("config.php"); //фаил подключения к базе данных
$result = mysql_query("SELECT * FROM swot_ques") or die ('Невозможно подключиться к БД!!!'); 
echo "<form action=\"test_2.php\" method=\"post\">";
while ($row = mysql_fetch_array($result)) { 
echo "<table border=\"0\" width=\"100%\">
<tr>
<td align=\"right\">                                                    
$row[id]. $row[title] 
</td>
<td>
                                                        
<input type=\"radio\" name=\"estim$row[id]\" value=\"1\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"2\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"3\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"4\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"5\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"6\" /> &nbsp;
<input type=\"radio\" name=\"estim$row[id]\" value=\"7\" /> &nbsp;&nbsp;
                                                                                                                        
<textarea name=\"comment$row[id]\" cols=\"23\" rows=\"2\"> </textarea>
 
                                                        
</td>
</tr>
</table>";
}
echo "<input type=\"submit\" name=\"submit\" value=\"Ok!\">
</form>";
1
0 / 0 / 0
Регистрация: 21.01.2010
Сообщений: 17
14.02.2010, 00:04  [ТС] 5
ILA, спасибо за помощь, скрипт работет, только вот теперь никак не пойму, как все в БД запихать что передается. Просто с именами не разберусь никак, может поможешь?

БД таблица имеет след поля:

SQL
1
2
3
4
5
CREATE TABLE `swot_form` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `estim` INT(10) NOT NULL,
  `comment` VARCHAR(800) NOT NULL
)
Добавлено через 6 часов 15 минут
Eсть вот такой скрипт добавления, как его приспособить для добавления данных из верхнего скрипта, просто имена estim и comment на конце с цифрами (estim1... и т. д. и comment тоже самое). Помогите пожалуйста.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
 $conn = mysql_connect ("localhost", "root", "andrey");
 mysql_select_db ("smk", $conn);
 if ( isset ($HTTP_POST_VARS ['submit'] ))
{
   if ((strlen ($HTTP_POST_VARS ['estim']) > 0) and (strlen ($HTTP_POST_VARS['comment'])  > 0))
    {
     $query_user = "insert into swot_form values ('$HTTP_POST_VARS[estim]', '$HTTP_POST_VARS[comment]')";
     $query_result = mysql_query($query_user);
     if ($query_result) { header ("Location: 1.html"); exit;} else { echo 'Не удалось добавить';}
     mysql_close();
     }
}
0
1 / 1 / 1
Регистрация: 03.06.2010
Сообщений: 31
05.06.2010, 00:39 6
Добавлено через 56 секунд
Цитата Сообщение от motakuji Посмотреть сообщение
а зачем для этого создавать много форм? запихни всё в одну и всё. А вообще,чтобы отправить несколько форм одной кнопкой используй яваскрипт.Например использйю jQuery это можно реализовать так
Javascript
1
2
3
4
function submiter (){
$('#form_id').submit();
$('#form_id2').submit();
}
и т.д.
сажаешь это на событие клика по кнопке
HTML5
1
<input type="button" onclick="submiter();">
Классное решение, хочу использовать, а как тогда должна выглядеть form action?
<form action="" method=post name="form_id" >
1
05.06.2010, 00:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2010, 00:39
Помогаю со студенческими работами здесь

Обработка нескольких кнопок, находящихся на одной форме.
Здравствуйте!Скажите пожалуйста, как можно обработать несколько кнопок(button) на одной форме?К...

Закрыть определенное количество форм одной кнопкой
Подскажите! Есть к примеру 5-ть форм. Вопрос? Как сделать так чтоб при закрытии через кнопку 5-й...

Вызов submit у двух форм одной кнопкой
Доброго дня, вопрос следующий есть две формы &lt;form class=&quot;form-horizontal ms2_form&quot;...

Передать значения из двух форм одной кнопкой
Здравствуйте. В чем суть: есть страничка со слайдером, в нем есть форма. Чтобы разделить форму на...

Как одной кнопкой проверить результат нескольких ответов
Доброе время суток! На форме имеется несколько заданий, как одной кнопкой проверить...

Обработка нескольких форм
почти на каждом лендинге использую по нескольку контактных форм. для каждой формы создаю по новому...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru