Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> группы чекбоксов, нужен пример 
:(
    Опции темы
trigger
Дата 15.11.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Приветствую! smile 
Для жены пишу некоторую базу контактов по СМИ с различными выборкаим и тд.
Вопрос возник на этапе добавления в базу самого сми (его атрибутов например платно бесплатно и тд в коде видно будет).

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



sub insert_all{
    my $name                = param ("name");
    my $basic_directions    = param ("basic_directions");
    my $url                 = param ("url");
    my $e_mail              = param ("e_mail");
    my $phone               = param ("phone");
    my $fax                 = param ("fax");
    my $payment             = param ("payment");
    my $type                = param ("type");
    my $city                = param ("city");
    my $index               = param ("index");
    my $street              = param ("street");
    my $house               = param ("house");
    my $apartment           = param ("apartment");
    my $circulation         = param ("сirculation");
    my $target_audience     = param ("target_audience");
    my $dbh;

    if ($name ne "") {
        $dbh=WebDB::connect();
       $dbh->do (qq{INSERT INTO company SET name=?, basic_directions=?, url=?, e_mail=?, phone=?, e_mail=?, phone=?, fax=?, payment=?, type=?, city=?, index=?, street=?, house=?, apartment=?, сirculation=?, target_audience=?},
          undef, $name, $basic_directions, $url, $e_mail, $phone, $fax, $payment, $type, $city, $index, $street, $house, $apartment, $circulation, $target_audience);
        }
    
    }

sub form_add_company {
    print "<table border=0>";
    print start_form (-action => url());
    print "<tr><td valign=top><H3>Описание компании</H3>";
    
    print "<table border=0>";
        print "<tr><td align=center>Название</td><td>", textfield ({name=>"name", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=center bgcolor=#669933>Формат<br>издания</td><td bgcolor=#669933>", checkbox_group (-name=>"basic_directions", -value=>["радио","телевидение","газета","журнал"], -linebreak=>"true", -default=>"газета", -lables=>{"радио"=>"радио","телевидение"=>"телевидение","газета"=>"газета","журнал"=>"журнал"}), "</td></tr>";
        print "<tr><td align=center>Оплата</td><td>", checkbox_group (-name=>"payment", -value=>["платно","бесплатно","бонусы","медиа-обмен"], -linebreak=>"true", -default=>"платно"), "</td></tr>";
        print "<tr><td align=center bgcolor=#669933>Тип</td><td bgcolor=#669933>", checkbox_group (-name=>"type", -value=>["дом","семья","отдых","новости","хард и софт","другое"], -linebreak=>"true", -default=>"новости"), "</td></tr>";
        print "<tr><td align=center>Тираж</td><td>", textfield ({name=>"сirculation", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=center bgcolor=#669933>Целевая<br>аудитория</td><td bgcolor=#669933>", checkbox_group (-name=>"target_audience", -value=>["все","мужчины","женщины","подростки"], -linebreak=>"true", -default=>"все"), "</td></tr>";
    print "</table>";

print "</td><td valign=top><H3>Координаты компании</H3>";
    
    print "<table border=0>";    
        print "<tr><td align=right>Ссылка на сайт</td><td>", textfield ({name=>"url", size=>30, override=>1, -value=>"http://"}), "</td></tr>";
        print "<tr><td align=right>e-mail</td><td>", textfield ({name=>"e_mail", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right>Телефон</td><td>", textfield ({name=>"phone", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right>Факс</td><td>", textfield ({name=>"fax", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right>Город</td><td>", textfield ({name=>"city", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right>Индекс</td><td>", textfield ({name=>"index", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right>Улица</td><td>", textfield ({name=>"street", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right>Дом</td><td>", textfield ({name=>"house", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right>Офис</td><td>", textfield ({name=>"apartment", size=>30, override=>1}), "</td></tr>";
        print "<tr><td align=right></td><td align=right>", submit ({name=>"choice", value=>"Добавить"}), "</td></tr>";

    print "</table>";        
        
        

    print end_form();    
    print "</td></tr></table><br>";
    }


PM MAIL WWW ICQ   Вверх
Nab
Дата 15.11.2006, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Приблизительно вот так:
Код

   $dbh->do (qq{INSERT INTO company (name, basic_directions, url, e_mail, phone, e_mail, phone, fax, payment, type, city, index, street, house, apartment, сirculation, target_audience)
          VALUES (undef, $name, $basic_directions, $url, $e_mail, $phone, $fax, $payment, $type, $city, $index, $street, $house, $apartment, $circulation, $target_audience)});

А вообще почитайте про SQL INSERT


--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
trigger
Дата 15.11.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ай спасибо - да это красивей конечно - но вопрос касался группы чекбоксов 
Код

в  этой строке вопрос
print "<tr><td align=center bgcolor=#669933>Формат<br>издания</td><td bgcolor=#669933>", 
checkbox_group (-name=>"basic_directions", -value=>["радио","телевидение","газета","журнал"], 
-linebreak=>"true", -default=>"газета", 
-lables=>{"радио"=>"радио","телевидение"=>"телевидение","газета"=>"газета","журнал"=>"журнал"}), "</td></tr>";


каким образом засунуть все выбранные значения (несколько) в базу в одну колонку?
ато добавляется только одно значене или по умолчанию которое или первое которое выбрано из нескольких
PM MAIL WWW ICQ   Вверх
Nab
Дата 15.11.2006, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

PS: хотя я вот сейчас перечитал вопрос, и понял что нифига не понял smile Не могли бы вы пояснить более понятно что хотите получить  в результате?

Это сообщение отредактировал(а) Nab - 15.11.2006, 22:57


--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
trigger
Дата 16.11.2006, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Извиняюсь что непонятно выражаюсь smile


суть:
есть какаято фирма
у нее куча атрибутов допустим (контактные данные, тираж издания, формат издания (газета журнал тв канал радио и прочее) ).
так вот  - один из параметров например- формат издания - может быть в двух вариантах (и газета и журнал) а то даже и в трех. я решил использовать для этого группы чекбоксов.

цель:
поместить все выбранные в данном примере варианты издания в одну колонку таблицы ( например через запятую) чтобы все что касается формата издания находилось в одной колонке таблицы.

правда я еще  смутно пока представляю как я буду строить запросы на выборку  этих параметров.

реализация:
загнал все это в массив. но массив в колонку не лезет smile - залазит только первое значение выбранное из группы.

прошу помощи в реализации данного примера.


если этот вариант не рационален то почему?
если  рационаленее будет каждому значению чекбокса дать место в таблице то тоже почему ?

Надеюсь понятно изложил мысль. 

улыбнуло  - решил сам 
Nab  спасибо всеравно за помощь

Это сообщение отредактировал(а) trigger - 16.11.2006, 01:58
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 16.11.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

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



Цитата(trigger @  16.11.2006,  00:06 Найти цитируемый пост)
загнал все это в массив. но массив в колонку не лезет 

сделай колонку типа varchar(255) - думаю хватит для значения типа '3,5,7,9,23,56,89,324'  smile 

Цитата(trigger @  16.11.2006,  00:06 Найти цитируемый пост)
правда я еще  смутно пока представляю как я буду строить запросы на выборку  этих параметров

можешь попробовать вот так:
Код
SELECT * FROM tablename WHERE LOCATE(CONCAT(',',field,','), CONCAT(',',нужное_значение,','));



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
trigger
Дата 16.11.2006, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ага я пробую спасибо огромное
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

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


 




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


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

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