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
Форумы портала PHP.SU :: Версия для печати :: Получить значение переменной
Форумы портала PHP.SU » » Вопросы новичков » Получить значение переменной

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

1. Novich - 30 Ноября, 2015 - 14:42:03 - перейти к сообщению
Есть код, который выводит в таблицу данные из БД, в нем имеется checkbox
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input name='check[$tov]' value='$tov' type='checkbox'>

Скажите, пожалуйста, как мне получить значение checkbox и передать его. checkbox зависит от id товара. Методом что ниже не получается его получить.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  <?php
  2. $sumbit = $_POST['submit'];
  3. $ak = $_POST['check[$tov]']; // не знаю как получить значение.
  4. if (isset($submit))
  5. {
  6.  
  7. echo $tov;
  8.  
  9. }else{
  10.   echo "ничего";
  11. }
  12. ?>
2. esterio - 30 Ноября, 2015 - 18:13:10 - перейти к сообщению
3. Novich - 30 Ноября, 2015 - 19:02:22 - перейти к сообщению
Не получается как Вы написали вывести значение переменной

Получаю данные с БД




PHP:
скопировать код в буфер обмена
  1. echo "<table><tr><td>" . $row['name'] . "</td><td>" . $row['op'] . "</td><td>" . $row['made'] . "</td><td>" . $row['price']  . "</td><td><input name='check[$tov]' value='$tov' type='checkbox'></td></tr></table><br/>";
  2.  

вывожу. Мне необходимо получить каждый id товара для того, чтобы с помощью checkbox'om добавить товар в корзину.
4. esterio - 30 Ноября, 2015 - 19:21:03 - перейти к сообщению
http://phpfaq[dot]ru/debug
5. Novich - 30 Ноября, 2015 - 19:42:22 - перейти к сообщению
Ошибки нет, как это реализовать, вот в чем вопросУлыбка
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $submit = $_POST['submit'];
  2. $a = $_POST['check'];
  3.  if (isset($submit))
  4.     {
  5.  echo $a;
  6.   }else{
  7.  echo "ничего";


Таким образом получаю id checkbox'a который был отмечен галочкой. Теперь возник другой вопрос, как получить id'ы если галочка стоит не на одном checkbox.
6. esterio - 30 Ноября, 2015 - 21:39:02 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. foreach($_POST['check'] as $key=>$value) {
  2.     // ...
  3. }
7. Novich - 01 Декабря, 2015 - 13:44:03 - перейти к сообщению
esterio, спасибо Вам за советы.
PHP:
скопировать код в буфер обмена
  1. if (isset($submit)){
  2.    $type = $_POST['check'];
  3.    $imp = implode(',',$type);
  4.    echo $imp;
  5. }else echo 'Ничего';

Вот так получилось, подсказали.
8. Novich - 01 Декабря, 2015 - 17:13:00 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $submit = $_POST['submit'];
  2. if (isset($submit)){
  3. $type = $_POST['check'];
  4.    if(isset($type)){
  5.    $imp = implode(',',$type);
  6.    $imp = substr_count($imp,',')+ "1"; // кол-во добавляемого товара в корзину + 1 так как считаю запятые, а их на одну меньше чем чисел)
  7. $strSQL = "SELECT * FROM `tovar`";
  8. $rs = mysql_query($strSQL);
  9.    
  10.     $price = array();
  11.     while($row = mysql_fetch_array($rs)) {
  12.                    $price[] = $row['price'];
  13.         $implode = implode(',',$price);
  14.           echo $implode; // вывод получается 44,44,4,44,4,4,44,4,4,4,44,4,4,4,4,44,4,4,4,4,4,44,4,4,4,4,4,4,4
  15.                
  16.  
  17.        
  18.    
  19.       }
  20.      }else {
  21.           echo "Ничего не выбрано";
  22.   }
  23.  }

В базе 8 товаров, а вывод получается
Цитата:
44,44,4,44,4,4,44,4,4,4,44,4,4,4,4,44,4,4,4,4,4,44,4,4,4,4,4,4,4

цена у каждого товара указана 4.
9. Novich - 01 Декабря, 2015 - 20:25:28 - перейти к сообщению
Нужно получить цену каждого id, подскажите каким образом?
10. Novich - 01 Декабря, 2015 - 23:23:22 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $submit = $_POST['submit'];
  2. if (isset($submit)){
  3. $type = $_POST['check'];
  4.    if(isset($type)){
  5.    $imp = implode(',',$type);
  6.    $imps = substr_count($imp,',')+ "1";
  7.  echo $imps;
  8.  
  9. $strSQL = "SELECT * FROM `tovar`";
  10.  
  11. $rs = mysql_query($strSQL);
  12.    
  13.     $price = array();
  14.     while($row = mysql_fetch_array($rs)) {
  15.                    $price[] = $row['pric'];
  16.  
  17.  
  18.      }
  19.  
  20.  $test=implode(",",$price);
  21. echo $test;
  22. $max  = array_sum($price);
  23. echo $max;
  24.  
  25.  
  26.      }else {
  27.           echo "Ничего не выбрано";
  28.   }
  29. }

Выводится $max, то есть сумма всех id, а мне необходимо получить сумму только тех id которые отмечены галочкой, то есть $imp.
11. Novich - 02 Декабря, 2015 - 19:33:26 - перейти к сообщению
С тем что выше разобрался.
есть строка 4,5.5,5,10.5
Как получить данные с правой стороны до первой запятой?
(Добавление)
4,5.5,5,10.5 это содержи переменная.
12. Russer - 02 Декабря, 2015 - 20:39:41 - перейти к сообщению
Novich пишет:
С тем что выше разобрался.
есть строка 4,5.5,5,10.5
Как получить данные с правой стороны до первой запятой?
(Добавление)
4,5.5,5,10.5 это содержи переменная.

PHP:
скопировать код в буфер обмена
  1.  
  2. $str = '4,5.5,5,10.5';
  3. $pos = strripos($str,',');
  4. if ($pos !== false)
  5. {
  6. $per =  substr($str, $pos+1);
  7. echo $per;
  8. }
  9.  
13. Novich - 06 Декабря, 2015 - 21:22:20 - перейти к сообщению
Russer, спасибо.
Теперь есть такая задачка.
PHP:
скопировать код в буфер обмена
  1. $test = "1,2,5,8,7,11,50";
  2. $test2 = "1,2,7";
  3. $test2_array = explode(",", $test2);
  4. $str = str_replace(($test2_array,1),"",$test);
  5. echo $str;

Вывод должен быть 5,8,11,50, укажите пожалуйста на ошибку.
14. DelphinPRO - 07 Декабря, 2015 - 04:01:00 - перейти к сообщению
11 - это две единички. они заменяются респлейсом на пустоту.
(Добавление)
array_diff
15. Novich - 07 Декабря, 2015 - 04:23:19 - перейти к сообщению
Не получается таким образом получить нужный результат, а именно
Цитата:
5,8,11,50

 

Powered by ExBB FM 1.0 RC1