v2.5.2
Giriş yap

Url Filtreleme

uluturk
696 defa görüntülendi

Merhaba dostlar ufak bir sorun hakkında sizlerden biraz yardım almak istiyorum.
Sorunum filtreleme, filtreleme olayını tabikide yapabiliyorum fakat Url'de istediğim görüntüyü elde edemedim.
Örnek vermem gerekirse laravel projem'de urlde şu şekilde filtreleme yapmak istiyorum "siralama=fiyat:asc;isim:asc;marka:marka_adi"
gibi bir filtreleme yapmak istiyorum url kısmında urlencode urlendecode vs. vs. bişeyler buldum netten fakat nedense işe yaramadılar.
Şimdiden cevaplarınız için teşekkürler

umutkorkmaz
1480 gün önce

Doğru mu anladım pek emin değilim, ancak şu tarz bir yapı sanırım size yardımcı olacaktır.

<?php 
function getFilters(){
	if(!isset($_GET['siralama'])) return null;

	$siralama = $_GET['siralama'];
	$params = explode(';',$siralama);

	foreach($params as $f){
		$ff = explode(':',$f);
		$filtreler[$ff[0]] = $ff[1];
	}
	return $filtreler;
}

function setFilters($args){

	$son = end($args);

	$filter_string = '';
	foreach($args as $arg => $value){
		$filter_string .= $arg.':'.$value;
		if($value != $son){
			$filter_string .= ';';
		}
	}
	return $filter_string;
}


function addFilters($args){
	$filtreler = getFilters();

	foreach(array_keys($args) as $arg){
		$filtreler[$arg] = $args[$arg];
	}

	echo setFilters($filtreler);
}

addFilters(array(
	'marka' => 'marka_adi',
	'deneme' => 'deniyorum'
));

//sonuç : fiyat:asc;isim:asc;marka:marka_adi;deneme:deniyorum
?>