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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генерация и перебор имени переменной 
V
    Опции темы
kulikoff
Дата 15.6.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

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



Помогите, пожалуйста, не знаю, как правильно написать.
На одной странице я генерю список полей с чекбоксами:
Код

$query = "select goodspropertyid, goodspropertyname from goodsproperty"or die("Invalid query: " . mysql_error());    
    $result=mysql_query($query);    
        while($cat=mysql_fetch_array($result)) 
        {
        echo("<tr><td><input type='checkbox' name='cat_id.$cat[0]' value='$cat[0]'>$cat[1]</td><td><input type='text' name='cat_text_id.$cat[0]' size='25'></td></tr>");        
        }


оно создает чекбокс, надпись и поле текстовое.
На странице обработчике мне надо как-то перебрать значения и найти, какие чекбоксы были выбраны и прочитать значение текстовых полей соответствующих.
Я пытался сделать таким путем:
Код

$query1 = "select goodspropertyid, goodspropertyname from goodsproperty"or die("Invalid query: " . mysql_error());    
        $result1=mysql_query($query1);            
        while($cat1=mysql_fetch_array($result1)) 
        {        
        echo("$_POST['cat_id'.$cat1[0]]");                
        }    

на что получаю ошибку
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING 
Подскажите, правильна ли моя идея и как её реализовать?
PM MAIL WWW ICQ Skype   Вверх
SamDark
Дата 15.6.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

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



kulikoff, 
Если надо обработать значения сгенерённых чекбоксов, то:

Код

foreach($_POST as $var => $val){
    if(preg_match('~^cat_id[0-9]+$~'), $var){
       // делаем что-то с $val
    }
}



--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
kulikoff
Дата 15.6.2007, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

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



спасибо! Точно, проще и короче smile 
PM MAIL WWW ICQ Skype   Вверх
sTa1kEr
Дата 17.6.2007, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

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



Тогда уж проще в форме сразу в массив передавать. На странице генерации чекбоксов:
Код

echo("<tr><td><input type='checkbox' name='cat_id[{$cat[0]}]' value='{$cat[0]}'>$cat[1]</td><td><input type='text' name='cat_text_id[{$cat[0]}]' size='25'></td></tr>");

В обработчике соответственно:
Код

foreach($_POST["cat_id"] as $id => $val)
{
   // Доступно и $id и значение, без лишних обработок.
}

С остальными переменными аналогично.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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