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 :: Вывод из массива по условию, foreach/if/else

 PHP.SU

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


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

> Без описания
Rosh
Отправлено: 24 Мая, 2017 - 13:25:18
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2017  


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




пишу модуль для битрикса на пхп, оформляю через html/css, проблема в том, что создав нужный многомерный массив, не могу адекватно реализовать фильтр по if/else в цикле foreach.
есть форма ввода с возможностью введения названия курса, имени и даты, пока код работает на обычное каскадное выведение всего массива, где вся лишняя инфа под катами, нужно замутить выборку, чтобы вместо полного вывода выводилась запрошенная инфа.

считывание переменных такое:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $course_name = $_REQUEST['course_name'];
  2. $student_name = $_REQUEST['student_name'];
  3. $date = $_REQUEST['date'];


шматок кода, где перед выводом юзернейма должно быть адекватное условие, но я уже опустил руки, перепробовав все, что знаю.
CODE (htmlphp):
скопировать код в буфер обмена
  1. if ($value['COURSE_NAME'] == $course_name)
  2.         {
  3.                 $i=0;
  4.                 foreach ($m as $key => $value1)
  5.                 {
  6.                         $i++;
  7. ?>
  8. <div class="demo">
  9. <input type="checkbox" id="hd-<?echo "$i";?>" class="hide"/>
  10. <label for="hd-<?echo "$i";?>">
  11. <?
  12.  
  13.                         echo "<h1>".$value1['USER_NAME']."</h1>";
  14.  
  15. ?>
  16. </label>


чувствую, что условие будет очень простым, помогите, пожалуйста!
 
 Top
Vladimir Kheifets
Отправлено: 24 Мая, 2017 - 14:34:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Осмелюсь предположить по "шмотку" кода, что в массиве $m данные всех студентов курса,
а проверку нужно сделать на $student_name. Исходя из этого добвил проверку:
PHP:
скопировать код в буфер обмена
  1.  
  2. f ($value['COURSE_NAME'] == $course_name)
  3. {
  4.         $i=0;
  5.         foreach ($m as $key => $value1)
  6.         {        
  7.            if($value1['USER_NAME']==$student_name)
  8.            {
  9.             $i++;
  10.                 ?>
  11.                 <div class="demo">
  12.                 <input type="checkbox" id="hd-<?echo "$i";?>" class="hide"/>
  13.                 <label for="hd-<?echo "$i";?>">
  14.                 <?
  15.                 echo "<h1>".$value1['USER_NAME']."</h1>";
  16.                 ?>
  17.             </label>
  18.             </div>
  19.             <?
  20.            }
  21. }
  22.  
 
 Top
Rosh
Отправлено: 24 Мая, 2017 - 14:41:17
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2017  


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




да, именно такая выборка и должна быть, но я ее уже юзал, она не работает, хотя считывание данных как с формы ввода, так и из массива верно.
 
 Top
Vladimir Kheifets
Отправлено: 24 Мая, 2017 - 14:50:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




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


нужно распечать значения в цикле. Можно попроботь добавать trim
или использовать preg_match

PHP:
скопировать код в буфер обмена
  1.  
  2.   $sh ="/".preg_quote(trim($student_name))."/";  
  3.  
  4.    
  5.     if(preg_match($sh, $value1['USER_NAME']))
  6.  

(Отредактировано автором: 24 Мая, 2017 - 14:57:14)

 
 Top
Rosh
Отправлено: 26 Мая, 2017 - 11:23:49
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2017  


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




СПАСИБО БОЛЬШОЕ, пошло! хотел нажать "спасибо", но сообщений мало для этого. (

(Отредактировано автором: 26 Мая, 2017 - 11:42:25)

 
 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