About Me
Diberdayakan oleh Blogger.
Text Widget
Sample Text
Pengikut
Arsip Blog
-
▼
2010
(16)
-
▼
Oktober
(16)
- Ide Membuat Script PHP untuk Pencarian dengan Mult...
- Menjumlahkan Isi Data di PHP
- Script Proses Edit File Yang Telah Diupload Ke Dat...
- Membuat Nomor Urut Hasil Query di PHP (Combined wi...
- Membuat Guestbook dengan PHP
- Membuat Fungsi Tanggal Indonesia (Database)
- Cara Mendeteksi Input Username yang Sama
- Mengubah Format Uang Menjadi Rupiah (Database)
- mysql_num_rows
- Fungsi date_sunset()
- MEMBUAT INPUT SEDERHANA DENGAN PHP&MYSQL
- MENAMPILKAN DATA DARI DATABASE
- PENGUNAAN FUNGSI idate
- Unlink PHP function
- Penggunaan Fungsi rtim,Ltrim dan trim
- Penggunaan substr pada PHP
-
▼
Oktober
(16)
Categories
- Ltrim dan trim (1)
- MySQL (3)
- Penggunaan Fungsi rtim (1)
- Penggunaan substr pada PHP (1)
- PHP Function (1)
- Tutorial CSS (1)
- Tutorial PHP (16)
- Unlink PHP function (1)
Label
- Ltrim dan trim (1)
- MySQL (3)
- Penggunaan Fungsi rtim (1)
- Penggunaan substr pada PHP (1)
- PHP Function (1)
- Tutorial CSS (1)
- Tutorial PHP (16)
- Unlink PHP function (1)
Popular Posts
-
Pengenalan PHP Tutorial yang saya tulis kali ini berhubungan dunia website yang menggunakan bahasa PHP. Sebelum masuk ke tips dan trik PHP...
-
Catatan Penting: Data yang dapat dijumlahkan harus berupa angka atau data string yang dapat diubah menjadi angka ( string yang terdiri ata...
-
Halo smua ,, kali ini saya akan membagikan bagaimana cara untuk membuat submit form atau proses dari suatu form dengan menggunakan Ajax Jqu...
Blogger templates
Pages
Download
Ordered List
Recent Posts
Sabtu, 23 Oktober 2010
Membuat Nomor Urut Hasil Query di PHP (Combined with Paging)
Baru memposting artikel tentang membuat nomor urut hasil query di PHP beberapa hari yang lalu, eh… ada yang berkomentar di artikelnya “Kok kalo dikombinasikan dengan paging, nomor urutnya balik mulai dari 1 lagi untuk setiap halamannya ya?”

He.. 3x makasih buat Anda yang telah berkomentar. Atas komentar itulah saya buat artikel ini yang merupakan kelanjutan artikel sebelumnya. Kali ini nomor urut hasil query akan diterapkan dalam konsep paging. Untuk lebih menyingkat pembahasan, alangkah baiknya kita gunakan konsep advanced paging yang pernah dibahas di blog ini sebelumnya.
Di sini dimisalkan kita memiliki struktur tabel yang sama seperti yang dibahas di advanced paging, dan script yang sama pula. Namun… kita sedikit akan melakukan modifikasi pada script tersebut supaya memunculkan nomor urutnya.
OK… untuk menampilkan nomor urut di setiap halaman, konsepnya adalah dengan memanfaatkan nomor halaman dan jumlah data yang ditampilkan pada setiap halamannya. Mengapa kedua hal tersebut digunakan? ya… misalkan Anda ingin menampilkan data per halamannya adalah 5 buah. Untuk halaman 1, tentu nomor urut datanya adalah mulai dari 1 yaitu 1, 2, 3, 4, 5. Sedangkan untuk halaman 2, nomor halamannya mulai dari 6, yaitu 6, 7, 8, 9, 10. Dab halaman 3, nomor halamannya mulai dari 11, yaitu 11, 12, 13, 14, 15 begitu seterusnya.
Nah.. bisa tidak Anda membaca hubungan antara nomor urut awal yang tampil di setiap halaman dengan nomor halamannya? OK.. kalau tidak bisa, ini saya kasih clue nya
1 = 1 + 0 . 4
6 = 2 + 1 . 4
11 = 3 + 2 . 4
.
.
dst
6 = 2 + 1 . 4
11 = 3 + 2 . 4
.
.
dst
Sudah bisa membaca hubungan ketiganya bukan? Ya… hubungan secara umum adalah sbb:
i = p + (p-1) . (n-1)
dengan i adalah nomor urut awal pada halaman ke-p. Sedangkan n adalah jumlah data yang ditampilkan pada setiap halaman.
Setelah kita dapat hubungan antara nomor urut awal dengan nomor halamannya, ya… udah deh, kita tinggal modifikasi script paging nya saja.
Dari artikel advanced paging, kita tambahkan beberapa kode untuk menampilkan nomor urut datanya, dan menjadi seperti di bawah ini
01.
<?php
02.
mysql_connect(
'namahost'
,
'dbuser'
,
'dbpassword'
);
03.
mysql_select_db(
'dbname'
);
04.
05.
// jumlah data yang akan ditampilkan per halaman
06.
$dataPerPage
= 5;
07.
08.
// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,
09.
// sedangkan apabila belum, nomor halamannya 1.
10.
11.
if
(isset(
$_GET
[
'page'
]))
12.
{
13.
$noPage
=
$_GET
[
'page'
];
14.
}
15.
else
$noPage
= 1;
16.
17.
$offset
= (
$noPage
- 1) *
$dataPerPage
;
18.
19.
$query
=
"SELECT * FROM guestbook LIMIT $offset, $dataPerPage"
;
20.
21.
$result
= mysql_query(
$query
)
or
die
(
'Error'
);
22.
23.
// membaca nomor halaman
24.
$noPage
=
$_GET
[
'page'
];
25.
26.
// membuat nomor urut awal di setiap halaman berdasarkan formula di atas
27.
$i
=
$noPage
+ (
$noPage
- 1) * (
$dataPerPage
- 1);
28.
29.
// menampilkan data dan nomor urutnya
30.
echo
"<table border='1'>"
;
31.
echo
"<tr><td>No.</td><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>"
;
32.
while
(
$data
= mysql_fetch_array(
$result
))
33.
{
34.
echo
"<tr><td>"
.
$i
.
"</td><td>"
.
$data
[
'nama'
].
"</td><td>"
.
$data
[
'email'
].
"</td><td>"
.
$data
[
'tanggal'
].
"</td><td>"
.
$data
[
'komentar'
].
"</td></tr>"
;
35.
$i
++;
// increment untuk nomor urut data
36.
}
37.
38.
echo
"</table>"
;
39.
40.
$query
=
"SELECT COUNT(*) AS jumData FROM guestbook"
;
41.
$hasil
= mysql_query(
$query
);
42.
$data
= mysql_fetch_array(
$hasil
);
43.
44.
$jumData
=
$data
[
'jumData'
];
45.
46.
$jumPage
=
ceil
(
$jumData
/
$dataPerPage
);
47.
48.
if
(
$noPage
> 1)
echo
"<a href='"
.
$_SERVER
['PHP_SELF
']."?page=".($noPage-1)."'
><< Prev</a>";
49.
50.
for
(
$page
= 1;
$page
<=
$jumPage
;
$page
++)
51.
{
52.
if
(((
$page
>=
$noPage
- 3) && (
$page
<=
$noPage
+ 3)) || (
$page
== 1) || (
$page
==
$jumPage
))
53.
{
54.
if
((
$showPage
== 1) && (
$page
!= 2))
echo
"..."
;
55.
if
((
$showPage
!= (
$jumPage
- 1)) && (
$page
==
$jumPage
))
echo
"..."
;
56.
if
(
$page
==
$noPage
)
echo
" <b>"
.
$page
.
"</b> "
;
57.
else
echo
" <a href='"
.
$_SERVER
['PHP_SELF
']."?page=".$page."'
>".
$page
.
"</a> "
;
58.
$showPage
=
$page
;
59.
}
60.
}
61.
62.
if
(
$noPage
<
$jumPage
)
echo
"<a href='"
.
$_SERVER
['PHP_SELF
']."?page=".($noPage+1)."'
>Next >></a>";
63.
64.
?>
Nah.. mudah bukan membuatnya? Dalam dunia programming, Anda harus jeli dalam melihat keterkaitan antara input dengan outputnya supaya muncul formulasi ide dalam penyelesaiannya.
OK… selamat mencoba ya…

Langganan:
Posting Komentar (Atom)
Blog Archive
0 komentar:
Posting Komentar