Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как присвоить checkbox

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
venji
Отправлено: 24 Февраля, 2012 - 12:20:28
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Помогите разобраться, с пхп работаю где-то с недельку =) Нужно есть задача наваять такую форму для подсчета цены рамки, отталкиваясь от размера. Не знаю правильно ли там пописывал но работает, теперь не могу сообразить как при установке галочки в чекбоксе прибавлять к результату значение переменной $work - (+ работа)

PHP:
скопировать код в буфер обмена
  1. <html>
  2.  <head>
  3.  <link rel="stylesheet" type="text/css" href="/nn.css">
  4.   <title>calc</title>
  5.  </head>
  6.  <body>
  7.  
  8.  <?
  9.   $a=$_GET['action'];
  10.   $x=$_GET['x'];
  11.   $y=$_GET['y'];
  12.   $work=$_GET['work'];
  13.   $w=7;
  14.   $z51=0.9272;
  15.   $z52=0.714;
  16.   $z53=0.5192;
  17.   $sz=34.4;
  18.   $result=0;
  19.  
  20.   if($a=="z51")
  21.                 $result=(($x+$y)*2+$sz)*$z51;
  22.        
  23.         else if($a=="z52")
  24.                 $result=(($x+$y)*2+$sz)*$z52;
  25.                
  26.         else if($a=="z53")
  27.                 $result=(($x+$y)*2+$sz)*$z53;
  28.                
  29.                
  30.  
  31.                
  32.   else
  33.    $result="Действие не выбрано";
  34.  
  35.   //Теперь выводим результат
  36.    
  37.   echo "ЦЕНА = $result<br/>";
  38.  ?>
  39.  
  40.   <form id="q1" action="calc.php" method=get>
  41.  
  42. <br>  
  43.    Размер: <input style="width: 40px;" type=text name=x> X <input style="width: 40px;" type=text name=y><br/>
  44. <br>
  45.    
  46.     <select id="q" name=action>
  47.     <option value="z51">Розница</option>
  48.         <option value="z52">Магазин</option>
  49.         <option value="z53">Опт</option>
  50.         </select><br/>
  51.      
  52.          
  53.    <input type=checkbox name="work" value="yes">+Работа<br>
  54.    <input type=submit value="Считай">
  55.  
  56.    
  57.   </form>
  58.  
  59.  </body>
  60. </html>
 
 Top
Dezmont
Отправлено: 24 Февраля, 2012 - 12:26:42
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


Помог: 1 раз(а)




Если чекбокс установлен, то он передаёт значение. Если не установлен - то такая переменная вообще не придёт в ваш скрипт. Соответственно, в зависимости от того пришла или нет необходимая переменная делайте вычисления.

Можете например вот так:

PHP:
скопировать код в буфер обмена
  1. if($_GET['work']==='yes'){//действия, если чекбокс установлен
  2. }

(Отредактировано автором: 24 Февраля, 2012 - 12:31:56)

 
 Top
venji
Отправлено: 24 Февраля, 2012 - 12:51:45
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Dezmont пишет:
Если чекбокс установлен, то он передаёт значение. Если не установлен - то такая переменная вообще не придёт в ваш скрипт. Соответственно, в зависимости от того пришла или нет необходимая переменная делайте вычисления.

Можете например вот так:

PHP:
скопировать код в буфер обмена
  1. if($_GET['work']==='yes'){//действия, если чекбокс установлен
  2. }



Извиняюсь за тугость но как-то не получается )
 
 Top
Dezmont
Отправлено: 24 Февраля, 2012 - 13:11:42
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


Помог: 1 раз(а)




После строки //Теперь выводим результат вставляете код:
PHP:
скопировать код в буфер обмена
  1. if($_GET['work'] === 'yes'){
  2.    $result += $work_price;
  3. }

Это если $result = (цена рамки +цена за работу).
 
 Top
venji
Отправлено: 24 Февраля, 2012 - 13:57:41
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Последние пол часа я перепробовал все варианты которые пришли мне в голову, рабочим оказался только 1:

PHP:
скопировать код в буфер обмена
  1. if($_GET['work']==='yes'){
  2.        
  3.         if($a=="z51")
  4.                 $result=(($x+$y)*2+$sz)*$z51+$w;
  5.        
  6.         else if($a=="z52")
  7.                 $result=(($x+$y)*2+$sz)*$z52+$w;
  8.                
  9.         else if($a=="z53")
  10.                 $result=(($x+$y)*2+$sz)*$z53+$w;
  11.                 }
  12.                
  13.         else if($a=="z51")
  14.                 $result=(($x+$y)*2+$sz)*$z51;
  15.        
  16.         else if($a=="z52")
  17.                 $result=(($x+$y)*2+$sz)*$z52;
  18.                
  19.         else if($a=="z53")
  20.                 $result=(($x+$y)*2+$sz)*$z53;


Но мне кажется что это как-то не правильно, вариант $result += $w не работает =)
 
 Top
Dezmont
Отправлено: 24 Февраля, 2012 - 14:28:14
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


Помог: 1 раз(а)




PHP:
скопировать код в буфер обмена
  1. $a=$_GET['action'];
  2.   $x=$_GET['x'];
  3.   $y=$_GET['y'];
  4.   $work=$_GET['work'];
  5.   $w=7;
  6.   $z51=0.9272;
  7.   $z52=0.714;
  8.   $z53=0.5192;
  9.   $sz=34.4;
  10.   $result=0;
  11.   if($a=="z51")
  12.                 $result=(($x+$y)*2+$sz)*$z51;
  13.        
  14.         else if($a=="z52")
  15.                 $result=(($x+$y)*2+$sz)*$z52;
  16.                
  17.         else if($a=="z53")
  18.                 $result=(($x+$y)*2+$sz)*$z53;
  19.                
  20.                
  21.  
  22.                
  23.   else
  24.    $result="Действие не выбрано";
  25.  
  26. if($_GET['work'] === 'yes' && is_numeric($result)){
  27.    $result += $w;
  28. }
  29.  
  30.   echo "ЦЕНА = $result<br/>";
  31.  

(Отредактировано автором: 24 Февраля, 2012 - 14:29:33)

 
 Top
venji
Отправлено: 24 Февраля, 2012 - 14:38:06
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Dezmont

Большое Вам спасибо =)
(Добавление)
Если не трудно подскажите еще, ситуация такая: видов рамок порядка 300 и каждая из них стоит по разному + работа по каждой их них стоит тоже по разному и углы при резке тоже разные ($sz=34.4;) - вопрос в какую сторону копать как это реализовывать нужен ли мускул? может у кого есть похожий пример чтобы можно было узреть.

(Отредактировано автором: 24 Февраля, 2012 - 14:38:32)

 
 Top
Dezmont
Отправлено: 24 Февраля, 2012 - 14:48:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


Помог: 1 раз(а)




Можно и в MySQL таблицу создать, и туда забивать информацию о каждой отдельной рамке.
А можно просто создать массив многомерный, в который записывать параметры рамок.
PHP:
скопировать код в буфер обмена
  1. $frames = array(
  2.    $one = array('z51'=>0.9272,'z52'=>0.714,'z53'=>0.5192,'w'=>34.4),
  3.    $two = array('z51'=>0.9,'z52'=>0.7,'z53'=>0.5,'w'=>34),
  4. );
 
 Top
venji
Отправлено: 24 Февраля, 2012 - 15:23:50
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Dezmont пишет:
Можно и в MySQL таблицу создать, и туда забивать информацию о каждой отдельной рамке.
А можно просто создать массив многомерный, в который записывать параметры рамок.
PHP:
скопировать код в буфер обмена
  1. $frames = array(
  2.    $one = array('z51'=>0.9272,'z52'=>0.714,'z53'=>0.5192,'w'=>34.4),
  3.    $two = array('z51'=>0.9,'z52'=>0.7,'z53'=>0.5,'w'=>34),
  4. );


Таак начинает становится страшно )))
 
 Top
venji
Отправлено: 27 Февраля, 2012 - 11:57:51
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Помогите пожалуйста наглядным примером как сделать (подставить) значения массива в формулу

PHP:
скопировать код в буфер обмена
  1.  
  2.  $frames = array(
  3.  
  4.    $z004 = array('rozn'=>0.9272,'roznW'=>0.4275,'mag'=>0.714,'magW'=>0.33,'opt'=>0.5192,'optW'=>0.29,'ug'=>34.4),
  5.  
  6.    $z09 = array('rozn'=>0.7881,'roznW'=>0.3375,'mag'=>0.6069,'magW'=>0.26,'opt'=>0.4414,'optW'=>0.23,'ug'=>28),
  7.  
  8. );
  9.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB