Bahas apa yang dipakai dahulu yaitu komoditas. Nah komoditas ini memiliki nama (terpenting) dan keterangan lain (tidak usah diperjelas agar pendek). Berikutnya prioritas barang yang akan keluar adalah barang yang memiliki status siap keluar (5). lalu yang keluar duluan adalah yang tanggal keluarnya lebih tua (1 maret) dan yang tanggal hari ini.
Jadi kita punya table komoditas yang memiliki field (sederhana)
- id
- nama
- tanggal
- status
dari sini kita akan keluarkan datanya, menggunakan logika ini
- panggil data dengan query. Ingat pada status dan ordernya yang berdasarkan tanggal lebih tua
- pastikan query benar . SANGAT PENTING
- tampilkan data
Dalam tulisan ini anggap kita mendapat 150 data! namun yang harus tampil cuma 10 maka querynya harus di 'batasi' atau dalam bahasa bule 'LIMIT'. Awalnya kita menulis
select * from komoditas where status=5 order by tanggal descberikutnya kita tambahkan dengan limit
select * from komoditas where status=5 order by tanggal desc limit 5namun kita harus ada mulai dan akhir
select * from komoditas where status=5 order by tanggal desc limit 0, 5Lalu kita perhatikan qeuery tersebut memiliki variable yang selalu statis yaitu
- status
- jumlah limit
- nama table
untuk keamanan, mari buat logika deklarasi yang status tersebut ke .... variable
$status=5;
lalu nanti digunakan hingga didapat
select * from $table where status=$status order by tanggal desc limit 0, $limitBerikutnya kita pikirkan.. tentang nilai awalnya ( 0 ) pada contoh di atas.. kita beri nama $start
select * from $table where status=$status order by tanggal desc limit $start, $limitDari mana asal start? nah disini ada 2 kemungkinan.. Start berasal dari variabel request (post/get) atau dari Session (disarankan jangan). Pertanyaannya model mana yang kamu gunakan? apakah
- page
- start
Apa beda kedua cara tersebut?
VARIABLE REQUEST PAGE
PAGE berarti halaman, dimana kamu harus menentukan halaman mana yang ditampilkan. Ini juga harus ada sedikit matematika. Anggap halaman yang muncul tidak ada.. maka page=0! tetapi halaman 0 itu sebenarnya tidak ada! yang ada adalah halaman 1.. jadi buatlah
if(intval($_GET[page])==0) $page=1;
bila tidak sesuai pernyataan di atas maka
$page=$_GET[page];
untuk nilai startnya maka harus memakai matematika
$start=($page-1) * $limit;
terlihat rumit!! belum tentu! karena kalau masuk ke paging jadi lebih mudah tahu ini halaman berapa
VARIABLE REQUEST START
ini yang lebih mudah, nilai start sudah sama dengan $start. Namun tetap harus ada kendali seperti berikut
if(intval($_GET[start])<=0)$start=0;
terlihat mudah? belum tentu. Karena kalau masuk ke paging.. apakah kamu tahu halaman berapa yang ditampilkan?
PASTIKAN QUERY BENAR
untuk memastikan query benar dapat memakai konsep demikian$res = mysql_query( .... ) or die( mysql_error() );tetapi cara ini kurang tepat.. Karena mengeluarkan error yang tidak menguntungkan (asumsikan kalau error bukan dari code tetapi sistem yang lambat.. anda tentu tak ingin keluar kata maaf mysql lagi demo karena kenaikan UMP! memakai ini sudah cukup
$res = mysql_query( .... ) ;tetapi ada bagusnya kamu masukkan query dalam var $sql jadi kamu menulis
$res = mysql_query( $sql );Berikutnya jalankan perintah demikian..
if( $res) { jalankan(); } else { perintah_error(); }
TAMPILKAN DATA
untuk menulis tampilan ada 2 cara yaitu menulis dengan html atau masukkan tampilannya ke variable kayak $str. Keduanya tepat namun ada 1-2 hal yang perlu diperhatikan..- menulis code panjang didalam if kan menyulitkan km melakukan perbaikan kedepannya
- variable yang kamu gunakan setidaknya jangan boros
saran saya adalah membuat dalam fungsi seperti contoh di atas.. dalih-dalih menulis 20 baris setelah if, tulis saja fungsi
jalankan($res);
di bawah fungsi jalankan di ketik.. namun jangan lupa $res di ikutkan. LHO mana pagindnya?? silakan cari baca artikel selanjutnya.
Tidak ada komentar:
Posting Komentar