v2.5.2
Giriş yap

Listeleme yaparken 1 eski 1 yeni şekilde sıralama.

webman
438 defa görüntülendi ve 2 kişi tarafından değerlendirildi

listem bu şekilde.

foreach ile bastırıyorum buradaki verileri ama listeleme yapmak isterken
tarihe göre 1 yeni 1 eski şekilde yapmak istiyorum.

1 yeni 1 eski 1 yeni 1 eski şekilde nasıl sıralayabilirim ? :)

public function get_kagit_listesi()
{
$this->db->select("products.*,users.slug as user_slug,users.shop_name,users.role as user_role");
$this->db->join("users","users.id = kagit_listesi.satici_id","LEFT");
$this->db->join("products","products.id = kagit_listesi.urun_id");
$this->db->group_by('satici_id');
$this->db->order_by("tarih");
return $this->db->get('kagit_listesi')->result();
}
Cevap yaz
Cevaplar (1)
makifgokce
1029 gün önce

Mysql tarafında nasıl yaparsın bilmiyorum ama php kısmı için şöyle bişey yapabilirsin.
dbden tarihe göre sıralayarak veriyi çekersen aşağıdaki fonksiyonlada 1 baştan 1 sondan veri çeker.

function oneFirstOneLast(array $data) : array
{
	$return = [];
	$total = count($data);
	for($i = 0; $i < $total; $i++)
	{
		if($i % 2 !== 0)
		{
			array_push($return, array_values(array_reverse($data))[0]);
			unset($data[array_reverse(array_keys($data))[0]]);
		}
		else
		{
			array_push($return, array_values($data)[0]);
			unset($data[array_keys($data)[0]]);
		}
	}
	return $return;
}