Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Флажок+выпадающий список

Ответить
Настройки темы
[решено] Флажок+выпадающий список

Старожил


Сообщения: 252
Благодарности: 3

Профиль | Отправить PM | Цитировать


Идея токая нужно поставить форму флажок так что бы было условие: если поставили галочку то применяется выпадающий список для скрипта применяемый формой. Дело в том что выподающих списокв будет несколько и надо создать условие выбора клиента, он может выбрать все а может только несколько! Пока вот что получается

PHP код: Выделить весь код

<input name="viborka" type="checkbox" value="1"/>

    <strong>статус договора</strong></td>
    <td><select name="status_id" id="status_id">
      
      <?php
    
require_once "zashita.php";
    require_once 
"bdconnect.php";
    
mysql_query("SET NAMES cp1251");
                
$sSQL_tar="SELECT * FROM status ORDER by id_status ASC";
                
$result_tar=mysql_query($sSQL_tar$link);
                
                if (
mysql_num_rows($result_tar) == 0)  echo"Результат запроса : 0";else
           if (
mysql_num_rows($result_tar) > 0
                 while ( 
$row_tar mysql_fetch_array($result_tar) ):
                
?>
            <option value="<?php echo $status_id=$row_tar["id_status"];?>"><?php echo $row_tar["status_name"];?></option>
            <?php endwhile ;
            
            
            
?>
      
    </select>

Мне нужно как то впихнуть сюда условие установки фложка, я понимаю что это будет выглядеть типа так:
PHP код: Выделить весь код

<input name="viborka" type="checkbox" value="1"/>

    <?php
    
if (viporka=1)
    {
        
    
?>
    <strong>статус договора</strong></td>
    <td><select name="status_id" id="status_id">
      
      <?php
    
require_once "zashita.php";
    require_once 
"bdconnect.php";
    
mysql_query("SET NAMES cp1251");
                
$sSQL_tar="SELECT * FROM status ORDER by id_status ASC";
                
$result_tar=mysql_query($sSQL_tar$link);
                
                if (
mysql_num_rows($result_tar) == 0)  echo"Результат запроса : 0";else
           if (
mysql_num_rows($result_tar) > 0
                 while ( 
$row_tar mysql_fetch_array($result_tar) ):
                
?>
            <option value="<?php echo $status_id=$row_tar["id_status"];?>"><?php echo $row_tar["status_name"];?></option>
            <?php endwhile ;
            
            
            
?>
      
    </select>
    <?php
    
}
    
?>

Я понимаю что это не правильно дело вот в чём как в флажке указать истинно и ложно, так что бы применить в условии. У меня есть ощущение что я не правильно написал условие!

Отправлено: 22:14, 12-05-2012

 

Deadooshka


Сообщения: 2479
Благодарности: 667

Профиль | Отправить PM | Цитировать


Если флажок не стоит, то viborka не шлётся (переменная будет не определена).

Отправлено: 06:25, 13-05-2012 | #2



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

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


Старожил


Сообщения: 252
Благодарности: 3

Профиль | Отправить PM | Цитировать


Это был вопрос? да вы правильно меня поняли!

Отправлено: 08:55, 13-05-2012 | #3


Старожил


Сообщения: 252
Благодарности: 3

Профиль | Отправить PM | Цитировать


Т.е. мне как то надо определить что галочка это 1, а отсутствие это 0! Но вот как!?

Отправлено: 09:29, 13-05-2012 | #4


Старожил


Сообщения: 252
Благодарности: 3

Профиль | Отправить PM | Цитировать


суть в том что если галочку не ставит значит переменная $status_id не шлётся!

Отправлено: 13:49, 13-05-2012 | #5


Deadooshka


Сообщения: 2479
Благодарности: 667

Профиль | Отправить PM | Цитировать


Зачем флажок, сделайте <option value="">не выбрано</option> для каждого селекта. Тогда будет пустая переменная. Читайте про empty(), isset() на php.net.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:47, 13-05-2012 | #6


Старожил


Сообщения: 252
Благодарности: 3

Профиль | Отправить PM | Цитировать


Надо мне как то дотукать как лучше сделать так что бы клиент мог выбирать по нескольким типам выборки выпадающего списка с учётом того что может выбрать любой из форм выпадающего списка и при этом из 7 форм ему нужно не все а только несколько и нам не известно что он выберет!?
Если учитывать что каждый выпадающий список это отдельная таблица можно ли сделать без возможности выбора в виде галочек или что ли бо подобное, если нет то как лучше реализовать, так что бы было максимально удобно!




P.S. Надо было начинать изучать Delphi, теперь уже поздно!

Та же проблема обстоит и здесь http://forum.oszone.net/thread-234428.html

Отправлено: 17:41, 08-06-2012 | #7


Старожил


Сообщения: 252
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата Sham:
Читайте про empty(), isset() на php.net. »
Я как то попытался использовать isset() в случаи с универсальным поиском http://forum.oszone.net/thread-234428.html но не получилось.

Теоретически я так понял что нужно сделать типа так
PHP код: Выделить весь код

if (isset($_GET[status_id])) {$status_id $_GET['status_id'];} 


Т.е. это строка я так понял проверяет пустое ли значение $status_id.
По идеи дальше должно быть так что если не пустое то например переменная $t определяем текстом "and dogovor.status_id='$status_id'" дальше в селекте пишем:
PHP код: Выделить весь код

SELECT FROM `dogovor`WHERE $t 


1) Я правильно понимаю?
2) Я ни как не могу вспомнить как определить переменную как определённый текст?! стыдно но забыл!

Отправлено: 09:19, 11-06-2012 | #8


Аватара для Habetdin


Автор проектов


Сообщения: 3651
Благодарности: 1498

Профиль | Сайт | Отправить PM | Цитировать


cibin, isset - проверяет, задана ли переменная, а empty - пустая ли она.
Цитата cibin:
SELECT***FROM*`dogovor`WHERE*and dogovor.status_id='$status_id'»
Не забудьте профильтровать $status_id, если это - цифра, то intval(), если текст - mysql_real_escape_string() (не забыв про замечания, указанные на php.net), итп
PHP код: Выделить весь код

if (isset($_GET[status_id]))

$status_id intval($_GET['status_id']);
else
$status_id 0

Цитата cibin:
как определить переменную как определённый текст? »
Если вам нужно определить переменную как строку, то:
PHP код: Выделить весь код

settype($var"string"); 


-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке


Отправлено: 09:58, 11-06-2012 | #9


Старожил


Сообщения: 252
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата Sham:
Зачем флажок, сделайте <option value="">не выбрано</option> для каждого селекта. Тогда будет пустая переменная. Читайте про empty(), isset() на php.net. »
Очень умно придумано, самое смешное не сразу понял что вы придумали. По идеи получается что выбрав вариант "не выбрано" в sql запрос должен пойти пустое значение поиска. Там вступает проверка
PHP код: Выделить весь код

if (isset($_GET[status_id]))
$status_id intval($_GET['status_id']); 

Дальше вступает скрипт запроса, т.е. выборка по типу id_status = ' '

Я правильно понял?

Если до попробовав то что посоветовали не сработало!

Моя идея заключалась в том что обозначить какую ни будь переменную (например $tt) как текст типа
PHP код: Выделить весь код

"and dogovor.status_id='$status_id'" 


в результате у нас получиться токая картина, что
1) вписываем данную переменную в sql скрипт выборки после WHERE
2) с перва идёт проверка на пустое значение, если пустое то скрипт запроса выполняет без данного значение поиска и он в результате должен выдать всю таблицу, в противном случаи он подставляет строку
PHP код: Выделить весь код

"and dogovor.status_id='$status_id'" 


с значение в место $status_id то значение которое выбрали!

Разве нельзя подобное в php создать? Вся загвоздка в том что
1) я не знаю как правильно вписать в sql скрипт переменную $tt
2) не знаю как в php сказать что $tt = "and dogovor.status_id='$status_id'"

Мне эту идею подкинул программист Си, вот и подумали почему так нельзя и если можно то как синтаксически правильно написать так что бы он работал???? Если здесь разберусь то думаю смогу понять как сделать так что бы заработал и универсальный поиск http://forum.oszone.net/thread-234428.html

Если кто сможет помочь буду оооооочень сильно благодарен!

Отправлено: 21:51, 12-06-2012 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Флажок+выпадающий список

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Флажок "Выполнить автоматическую перезагрузку" отмечается сам Faustin Microsoft Windows 7 27 01-02-2019 23:03
Темы и Стили - [решено] Как удалить флажок в правом верхнем углу окна rusik-85 Оформление Windows XP 2 08-01-2011 13:48
Разное - Вылетает Explorer при наведении курсора мыши на выпадающий пункт меню «удалить» Rokannon Microsoft Windows 2000/XP 3 19-11-2010 11:26
Снять у клиента флажок "Проверять аннулирование сертификатов издателей" babki Microsoft Windows NT/2000/2003 3 04-07-2007 09:55
Список компов в сети? Список открытых папок на компе? DANTIST Программирование и базы данных 3 12-06-2003 10:05




 
Переход