Membuat Nomor Urut Hasil Query di PHP
August 31st, 2009 | by rosihanari |
Cetak Artikel Ini
Suatu ketika, mas Bagus (salah seorang member saya) merequest artikel di blog ini. Beliau menanyakan bagaimana cara membuat nomor urut dari tampilan hasil query di PHP.
Maaf mas Bagus, baru sempat dipostin sekarang… maklum, karena banyak kerjaan di kantor.
OK.. sebenarnya ide untuk membuat nomor urut hasil query di PHP ini cukup mudah, yaitu dengan konsep membuat increment mulai dari 1, 2, … dst sampai sejumlah record hasil query. Untuk lebih jelasnya saya ambil kasus seperti di bawah ini.
Misalnya kita punya tabel dan data sebagai berikut
CREATE TABLE `mhs` ( `nim` varchar(10), `namamhs` varchar(30), `alamat` text, `sex` varchar(10), PRIMARY KEY (`nim`) );
INSERT INTO `mhs` VALUES ('M0197001', 'ROSIHAN ARI YUANA', 'COLOMADU', 'L'); INSERT INTO `mhs` VALUES ('M0197002', 'DWI AMALIA FITRIANI', 'KUDUS', 'P'); INSERT INTO `mhs` VALUES ('M0197003', 'FAZA FAUZAN KH.', 'COLOMADU', 'L'); INSERT INTO `mhs` VALUES ('M0197004', 'NADA HASANAH', 'COLOMADU', 'P'); INSERT INTO `mhs` VALUES ('M0197016', 'MUH. AHSANI TAQWIM', 'COLOMADU', 'L');
Selanjutnya kita akan menampilkan semua data mahasiswa di atas dengan query yang dijalankan di PHP
<?php mysql_connect("dbhost", "dbuser", "dbpass"); mysql_select_db("dbname"); echo "<table border='1'>"; echo "<tr><th>NIM</th><th>Nama MHS</th><th>Alamat</th><th>J. Kelamin</th></tr>"; $query = "SELECT * FROM mhs"; $hasil = mysql_query($query); while ($data = mysql_fetch_array($hasil)) { echo "<tr><td>".$data['nim']."</td><td><td>".$data['namamhs']."</td><td><td>".$data['alamat']."</td><td><td>".$data['sex']."</td></tr>"; } ?>
Hasil script di atas akan tampak seperti di bawah ini

Nah untuk menampilkan nomor urutnya: 1, 2, …, dst di setiap baris record datanya maka kita tinggal buat increment dengan nilai awal 1. Dalam contoh ini, kita gunakan variabel $noUrut.
<?php mysql_connect("dbhost", "dbuser", "dbpass"); mysql_select_db("dbname"); echo "<table border='1'>"; echo "<tr><th>No</th><th>NIM</th><th>Nama MHS</th><th>Alamat</th><th>J. Kelamin</th></tr>"; $query = "SELECT * FROM mhs"; $hasil = mysql_query($query); $noUrut = 1; while ($data = mysql_fetch_array($hasil)) { echo "<tr><td>".$noUrut."</td><td>".$data['nim']."</td><td>".$data['namamhs']."</td><td>".$data['alamat']."</td><td>".$data['sex']."</td></tr>"; $noUrut++; // increment untuk menampilkan nomor urut } ?>
atau boleh kita membuat nilai awal $noUrut = 0, akan tetapi increment $noUrut++ nya kita letakkan sebelum menampilkan datanya
<?php mysql_connect("dbhost", "dbuser", "dbpass"); mysql_select_db("dbname"); echo "<table border='1'>"; echo "<tr><th>No</th><th>NIM</th><th>Nama MHS</th><th>Alamat</th><th>J. Kelamin</th></tr>"; $query = "SELECT * FROM mhs"; $hasil = mysql_query($query); $noUrut = 0; while ($data = mysql_fetch_array($hasil)) { $noUrut++; // increment untuk menampilkan nomor urut echo "<tr><td>".$noUrut."</td><td>".$data['nim']."</td><td>".$data['namamhs']."</td><td>".$data['alamat']."</td><td>".$data['sex']."</td></tr>"; } ?>
Nah… hasil dari script modifikasi di atas tampak seperti di bawah ini

OK deh.. mudah-mudahan artikel ini bisa menjawab pertanyaan mas Bagus dan juga visitor setia blog ini. Mungkin artikel ini so simple bagi Anda yang sudah berpengalaman di PHP, tapi bisa jadi sangat bermanfaat bagi mereka yang sedang belajar
Beberapa artikel terkait
- Membuat Nomor Urut Hasil Query di PHP (Combined with Paging)
- Cara Membuat Query SQL Untuk Relasi Tabel
- Fakta Seputar Query INSERT di SQL
- Script PHP Menampilkan Hasil Pencarian Multikategori dengan Advanced Paging
- Query SQL Untuk Menampilkan Index Prestasi (IP) Per Semester
- Penggunaan Subquery dalam Query SQL (Bag. 1)
- Membuat Script PHP untuk Rekap Data dari Data Mentah
- Cara Mengubah Struktur Tabel dengan Query SQL
- Membuat Nomor Halaman (Paging) di Wordpress
- Membuat Tampilan Data Terurut Berdasarkan Kolom Tabel
Share this article on:
Kata kunci: menampilkan hasil query - nomor urut query - php mysql script - query di php - query php mysql - query sql di php -
Pertama di Indonesia: "Murottal Al Qur'an + Terjemahan" dalam bentuk CD MP3 Original (
Rosihan Ari adalah seorang programmer, penulis buku, trainer, peneliti dan berusaha menjadi seorang blogger sejati dengan memberikan yang terbaik buat negeri ini. Berfokus pada computer programming serta computer aided learning for mathematics, ia ingin berbagi ilmu yang dimilikinya. 


Terimakasih Pa Ari untuk sharingnya.
Saya coba terapkan dengan data yang agak banyak dan ditampilkan dengan sistem paging. Masalahnya, kenapa ya pas tampilan data di halam 2 dan seterusnya selalu memulai penomoran dari 1 lagi. Bagaimana caranya agar penomoran berlanjut dari halaman awal sampai seterusnya ya?
Maaf kl pertanyaannya bodoh, maklum newbi.
btw, kirim komen pake mozilla gagal terus Pa skrg. ni pake IE
Thx b4
Selamat menjalankan ibadah2 di bulan suci ini.
sL
to sahl: pertanyaan Anda sudah saya jawab di artikel “Membuat Nomor Urut Hasil Query di PHP (Combined with Paging)“
Yth, Pak Ari..
Bisa apa ngga ya kira2 php menghasilkan laporan dg bentuk format misalnya sbb:
No Urut : 99999
Tanggal : 99/99/9999
———————————————–
No.Urt Nm Brng Hrg Satuan Qty Jumlah
———————————————–
99 xxxxxxxxxx 9.999 99 9.999.999
99 xxxxxxxxxx 9.999 99 9.999.999
99 xxxxxxxxxx 9.999 99 9.999.999
———————————————–
total 99.999.999
———————————————–
datanya diambil dari tabel2 mssql
Terima kasih sebelumnya
to mukti: ya.. bisa saja mas, tapi report di atas pastinya merelasikan lebih dari 1 tabel.
mohon bantuannya…….
bgmn caranya bila membuat no pendaftaran secara otomatis dengan memakai kode jurusan tetapi kode jurusan bisa berubah apabila kita memilih jurusan yg berbeda, apakah kode jurusan dibuatkan tabel tersendiri atau bisa diambil dari tabel user
contoh untuk no pendaftaran :
AK001 dst
AP001 dst
PJ001 dst
to yuni: mungkin artikel yang dimaksud adalah http://blog.rosihanari.net/ide-membuat-generator-kode-unik-incremental-otomatis
Yth Pak Ari..
Pak..kalo misalnya user A login di komputer 1, user A belum logout, tapi user A login kembali di komputer 2. Bisa ngga Pak… php mencegah agar 1 user hanya boleh 1 x login dan sebelum logout, maka ia tidak boleh login di komputer mana pun.
Terima kasih sebelumnya
@mukti: seperti itu bisa mas terjadi mas. Untuk mencegah itu sebaiknya anda buat sebuah field di tabel user, misal namanya ’status’. Lalu isi dari status itu bisa berupa angka 0 atau 1. Angka 0 berarti si user belum login, dan 1 artinya sudah login. Begitu si user sudah login, maka secara otomatis nilai status menjadi 1. Nah… kalau dia sudah 1, maka anda buat mekanisme di script anda bhw dia tidak bisa login lagi sebelum dia logiut. Artinya seorang user hanya boleh login ketika statusnya masih 0. Paham maksudnya saya ya?
Iya sih Pak, tp kalo itu diterapkan, bagaimana kalo user cuma klik close aja (dari ikon pojok kanan atas)tanpa logout dari menu atau putus sumber daya listrik, pasti status terakhir masih login, akibatnya selanjutnya jika user login, maka akan ditolak.
@mukti: mm… kalo gitu sistem anda musti menyimpan segala aktivitas atau log usernya. Jika tidak ada perubahan dari aktivitasnya atau lognya selama beberapa jam, maka secara otomatis dianggap logout.