Ada kalanya aplikasi PHP kita butuh untuk mengetahui jumlah data di dalam suatu table database, dalam contoh kali ini, database MySQL. Misalnya, mengetahui jumlah member, mengetahui jumlah transaksi, dan lain sebagainya.
Untuk keperluan tersebut, MySQL menyediakan fungsi count()
untuk mengetahui jumlah data dari sebuah query. Dipahami ya, bahwa jumlah data sebuah query, tidak selalu berarti jumlah data dalam suatu table. Lebih detail mengenai ini akan dibahas lain waktu, semoga ada kesempatan itu.
Kembali ke topik kita, cara kedua adalah, menggunakan fungsi dari driver MySQL di PHP, mysql_num_rows()
.
Dan cara ketiga, adalah cara yang paling tradisional dan, seringnya, tidak efektif, yaitu mengambil seluruh data dari query ke dalam sebuah variable penampung, misalnya Array(), dan kemudian menghitung jumlah isi dari Array tersebut.
Kenapa cara ketiga ini (sering kali) tidak efektif ? Bayangkan jika query yang ingin kita hitung jumlah hasilnya tersebut ternyata memberikan hasil 1 juta record. Berapa banyak memory yang diperlukan untuk menampung data data tersebut ? Jawabannya tentu saja tergantung dari bagaimana struktur data per-record. Yang pasti, besar.
Tentu saja, tergantung kebutuhan Anda, saya sajikan contoh dari 3 cara di atas. Anda ada cara lain? Silakan dishare.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php mysql_connect('localhost', 'username', 'password'); mysql_select_db('dbname'); $table = "tablename"; // Cara 1 $sql = "SELECT count(*) AS jumlah FROM $table"; $query = mysql_query($sql); $result = mysql_fetch_array($query); echo "Jumlah data dengan fungsi MySQL count(): {$result['jumlah']} <br/>"; // Cara 2 $sql = "SELECT * FROM $table"; $query = mysql_query($sql); $count = mysql_num_rows($query); echo "Jumlah data dengan mysql_num_rows: $count <br/>"; // Cara 3 $sql = "SELECT * FROM $table"; $query = mysql_query($sql); $data = array(); while(($row = mysql_fetch_array($query)) != null){ $data[] = $row; } $count = count($data); echo "Jumlah data dari array PHP: $count"; |
Jangan lupa, seluruh contoh di atas adalah menghitung sebenarnya adalah menghitung jumlah data dari hasil query. Karena querynya adalah mengambil seluruh data dari $table
, maka bisa dibilang contoh di atas adalah menampilkan jumlah data di dalam $table
.
Fungsi-fungsi di atas dapat dikembangkan menjadi lebih kompleks, misalnya menghitung jumlah member yang hanya mendaftar tapi belum aktif, atau menghitung jumlah mahasiswa yang sudah lebih 6 tahun betah di kampus, atau menghitung jumlah transaksi yang belum lunas dan atau-atau lainnya.
Demikian semoga berguna untuk kita semua.