Задать вопрос
Sadist07
@Sadist07
Верстальщик, Недо дизайнер

Как вывести определенный массив через GET параметр?

Добрый вечер, в массиве $ar есть нексолько еще массивов. Мне нужно выводить определенный массив от параметра GET['page']. Вывести массив от 1 условия получается (если параметр пуст или он равен 0).... но от других параметров нечего не выводится. Пытаюсь сделать это через циклы. Подскажите в чем ошибка и как лучше сделать ?

$post_show = 5;
$pag = ceil($post/$post_show);
$ar = array_chunk($arr,$post_show);

for($i=0; $i < $pag; $i++){
    if(empty($_GET['page']) || $_GET['page']==0){
        foreach($ar[0] as $item){
            $date = strtotime($item -> date);
            $info = $item -> info;?>
            <div class="rew-block">
                <div></div>
        		<img src="assets/templates/gold/img/user.png" alt="">
        		<div class="name"></div>
        		<div class="date"><?php echo date("d.m.Y",$date);?></div>
        		<div class="text"><?php print $info; ?></div>
        	</div><?php
    	}
    }
    if($_GET['page']==$i && $_GET['page']!=0){
        foreach($ar[$i] as $item){
            $date = strtotime($item -> date);
            $info = $item -> info;?>
            <div class="rew-block">
                <div></div>
        		<img src="assets/templates/gold/img/user.png" alt="">
        		<div class="name"></div>
        		<div class="date"><?php echo date("d.m.Y",$date);?></div>
        		<div class="text"><?php print $info; ?></div>
        	</div><?php
    	}
    }
}
  • Вопрос задан
  • 336 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
@AlikDex
Признаюсь честно, чайник уже не варит. Но $_GET['page'] в скрипт приходит как текстовое значние..
поэтому его в начале сразу нужно валидировать и привести в нужному типу. Делается это так:
$options = [
    'options' => [
        'default' => 0, 
        'min_range' => 0,
    ],
    'flags' => FILTER_FLAG_ALLOW_OCTAL,
];
$page = filter_var( $_GET['page'], FILTER_VALIDATE_INT, $options);
//...

Ну и соотвественно условия будут такими
if($page == $i && $page > 0){
      foreach($ar[$i] as $item){
           //...
      }
  }


Нате вам в догонку говнокод на сонную голову =) Допилите поди.
$options = [
    'options' => [
        'default' => 0, 
        'min_range' => 0,
    ],
    'flags' => FILTER_FLAG_ALLOW_OCTAL,
];
$page = filter_var( $_GET['page'], FILTER_VALIDATE_INT, $options);

$post_show = 5;
$pag = ceil($post/$post_show);
$ar = array_chunk($arr,$post_show);

foreach ($ar as $key => $arr) {
	
	if ($key !== $page)
		continue;

    foreach($arr as $item){
        $date = strtotime($item -> date);
        $info = $item -> info;
        $block = "<div class=\"rew-block\">
            <div></div>
    		<img src=\"assets/templates/gold/img/user.png\" alt=\"\">
    		<div class=\"name\"></div>
    		<div class=\"date\">" . date("d.m.Y",$date) . "</div>
    		<div class=\"text\">" . $info . "</div>
    	</div>";
    	echo $block;
	}
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ashlst
@Ashlst
Фанат эстетики и красивых решений.
А Вы уверенны,что в page,что-то есть и не 0?
Посмотрите var_dumpo'м
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы