Listeleme yaparken 1 eski 1 yeni şekilde sıralama.
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();
}
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
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;
}