Postingan lainnya
Cara menampilkan data dari urutan terbalik
Misal kita mempunyai data sebanyak 60, kita mau menampilkan data 30 terakhir namun yang tampil dari data lama ke baru dalam 30 terakhir. Kalo pake desc limit 30, yang tampil dari data terbaru 30, bukan terlama 30 -- ke data terbaru. mau di balik dari data terlama berarti urutan tampil daRI 31, 32, 33 dst... bukan 60,59,58
3 Jawaban:
kalau data terlama tinggal urutin pake ASC aja EDIT: kalo gitu coba pake array_reverse aja gan ( pastiin querynya result_array / fetch_array ) contohnya gini <pre> $data = array( [ 'angka' => 4, 'desc' => 'empat' ], [ 'angka' => 3, 'desc' => 'tiga' ], [ 'angka' => 2, 'desc' => 'dua' ], [ 'angka' => 1, 'desc' => 'satu' ] ); $reverseData = array_reverse($data); foreach($reverseData as $value){ echo "$value[angka] - $value[desc] <br>"; } </pre>
OUTPUTnya :
<pre> 1 - satu 2 - dua 3 - tiga 4 - empat </pre>
Tanggapan
kalo asc akan nampil data 1-30, sedangkan yang mau ditampilkan 31-60 dengan urutan asc. Kalo pake between datanya tidak tampil up to date, harus di ubah terus nilai between nya
bisa pake array reverse, atau kalo pake framework bisa pake 2 function gan, jadi pake 2 query
Jawaban Terpilih
Coba pas ngambil dari database diurutkan berdasarkan DESC LIMIT 30. Kemudian di kenakan array_reverse(). Contoh:
<pre> <?php $koneksi = mysqli_connect("localhost", "root", "", "nama_database");
$exec_query = mysqli_query($koneksi, "SELECT * FROM nama_table ORDER BY id DESC LIMIT 30");
$ambilData = array();
$no = 1;
$order = 0;
while ($data = mysqli_fetch_assoc($exec_query)) {
$ambilData[$order]["no"] = $no++;
$ambilData[$order]["nama_field1"] = $data["nama_field1"];
$ambilData[$order]["nama_field2"] = $data["nama_field2"];
$ambilData[$order]["nama_field3"] = $data["nama_field3"];
$ambilData[$order]["nama_field4"] = $data["nama_field4"];
$order++;
}
echo "<pre>";
print_r($data); // hasilnya urutan waktu kita ambil dari database, yakni 60, 59, 59, ..., 31.
echo "</pre>";
$balik_data = array_reverse($ambilData);
// Sedangkan hasil dibawah ini akan mengurutkan hasil diatas menjadi 31, 32, 33, 34, ..., 60.
foreach ($balik_data as $key =&gt; $value) {
echo $value["no"] . ") " . $value["nama_field1"] . " || " . $value["nama_field2"] . " || " . $value["nama_field3"] . " || " . $value["nama_field4"];
echo "&lt;br&gt;";
}
</pre>
Terimakasih...
makasih semuanya gan, alhamdulillah berhasil