Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сбор переменных из формы, как собрать если неизвестно кол-во 
:(
    Опции темы
sayber
Дата 15.2.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



добрый день.
Вот такая вот проблемка.

Я не знаю сколько будет переменных:
К примеру форма будет такой

поле а1
поле б1
поле в1


поле а2
поле б2
поле в2


поле а3
поле б3
поле в3

Как мне правельней илх собрать.

Я знаю как собрать переменные а  а вот что делать с остальными не знаю.

Код

$post_f = $_POST[ 'fio' ];

foreach( $post_f as $num_del => $field_text  ) {

  $f1 .= $num_del."-".$field_text."<br>";

}

--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
boombick
Дата 15.2.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.4.2005
Где: Moscow, Russia

Репутация: 2
Всего: 9



Код

<input name = a[]>
<input name = b[]>
<input name = c[]>

Вот так =)


--------------------
Все вышесказанное - имхо, и на истину в последней инстанции не претендует
------
UNIX and other
PM MAIL WWW ICQ   Вверх
sayber
Дата 15.2.2007, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



boombick,   Типа посоветовал????
А я тебе что написал? Тоже самое. Посмотри внимательней.

поле а1
поле б1
поле в1

<input name = a[1]>
<input name = b[1]>
<input name = c[1]>


Я спрашиваю как в массив взять a[1],b[1],c[1] а потом в forech это все.....

Добавлено @ 19:41 
Может быть 100 таки форм

<input name = a[]>
<input name = b[]>
<input name = c[]>
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
murod
Дата 15.2.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 17.9.2005
Где: Uzbekistan/Tashke nt

Репутация: 2
Всего: 4



Может так сделаеш?
Код

$i=0;
while(isset($_POST['a'.$i]))
{
  a[$i]=$_POST['a'.$i];
}

или есть еще другая идея:
Код

<form>
<input name = a[1]>
<input name = b[1]>
<input name = c[1]>
:
:
<input name = a[n]>
<input name = b[n]>
<input name = c[n]>

<input name='acount' value='n' type='hidden'>
<input name='bcount' value='n' type='hidden'>
<input name='ccount' value='n' type='hidden'>

</form>

И потом можеш узнать количество переменных
Код

$_POST['acount'],$_POST['bcount'],$_POST['ccount']

--------------------
Люди всего мира берегите природу!  
PM MAIL ICQ   Вверх
sayber
Дата 15.2.2007, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



murod, 

Короче фишка вот http://asep.vmx.ru/modules.php?name=Confer...&register=3

Там где поле Количество делегатов введите число.

Там появятся формы. Вот как их обработать.
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
murod
Дата 16.2.2007, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 17.9.2005
Где: Uzbekistan/Tashke nt

Репутация: 2
Всего: 4



Не вижу никакой проблемы.
все просто, оказывается у тебя все есть!! я посмотрел HTML код формы(вот фрагмент):
Код

<form id="form1" name="form1" method="post" action=""><input name="PHPSESSID" value="1305d7c80f9a5fec20a947bf3ac82992" type="hidden">
    <div id="conf" style="width: 660px;" align="center">
<table id="corp_form_style" align="center" cellpadding="8" cellspacing="0" width="90%">

  <tbody><tr>
    <td width="40%">Количество делегатов</td>
    <td width="60%">
   
      <input name="col" id="icol" maxlength="2" value="" onkeyup="javascript:sendRequest('col_del.php?col=' + document.getElementById( 'icol' ).value, 'result', getRequest);" type="text">
      
      <span class="st1">*</span></td>
  </tr>
</tbody></table>

У тебя "icol" содержит количество заполняемых форм.
чтоб обработать его в PHP коде делай так:
Код

for($i=1;$i<=$_POST['icol'];$i++)
{
 $fio[$i]=$_POST['fio'.$i];//Фамилия, Имя,Отчество
 $company[$i]=$_POST['company_name'.$i];//Название компании
:
:// и так далее остальные параметры
}

--------------------
Люди всего мира берегите природу!  
PM MAIL ICQ   Вверх
Gold Dragon
Дата 16.2.2007, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



народ... видимо утро сказывается... smile так и не понял вопрос или не вижу проблему...

Код

<?php
$w = 4; // произвольное количество элементов

if (isset($_POST['qq'])){ // вытаскиваем полученные элементы
    $a = '';
    // элемент а
    for($i=0; $i<count($_POST['a']);$i++){
        $a .= 'поле а'.$i.' = '.$_POST['a'][$i].'<br>';
    }
    // элемент b
    for($i=0; $i<count($_POST['b']);$i++){
        $a .= 'поле b'.$i.' = '.$_POST['b'][$i].'<br>';
    }
    // элемент c
    for($i=0; $i<count($_POST['c']);$i++){
        $a .= 'поле c'.$i.' = '.$_POST['c'][$i].'<br>';
    }
    echo $a;
}else{// печатаем форму
    $a = '<form name="qq" action="" method="post">';
    for($i=0; $i<$w; $i++){
        $a .= 'поле a <input name="a[]" type="text" value=""><br>';
        $a .= 'поле b <input name="b[]" type="text" value=""><br>';
        $a .= 'поле с <input name="c[]" type="text" value=""><br>';
    }
    $a .= '<input type="submit" value="Send" name="qq"></form>';
    echo $a;
}
?>


Добавлено @ 09:13 
boombick в самом начале вроде ответил на вопрос smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.