Mengambil Data Dari Tabel Database
Pernyataan SELECT digunakan untuk mengambil data dari database.
Penulisan
SELECT Nama_kolom FROM Nama_Tabel |
Note: Pernyataan SQL tidak case sensitive
Agar PHP mengeksekusi pernyataan di atas kita harus menggunakan fungsi mysql_query(). Fungsi ini digunakan untuk mengirim permintaan atau perintah ke koneksi MySQL.
Contoh
Contoh berikut mengambil data yang disimpan dalam tabel “Person” (Character * mengambil semua data dalam tabel):
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } mysql_close($con); ?> |
Contoh di atas memberikan data yang dihasilkan oleh fungsi mysql_query(). ke variabel $result . Selanjutnya, kita gunakan fungsi mysql_fetch_array() untuk menhasilkan baris pertama recordset sebagai sebuah array. Setiap subsequent call to mysql_fetch_array() menhasilkan baris berikutnya pada recordset. while loop loops sampai semua record pada recordset. Untuk mencetak nilai dari setiap baris , kita gunakan PHP variabel $row ($row[‘FirstName’] dan $row[‘LastName’]).
Hasil code di atas seperti berikut::
Peter Griffin Glenn Quagmire |
Menampilkan hasil dalam tabel HTML
Contoh berikut mengambil data yang sama seperti contoh di atas , tetapi ditampilkan di dalam tabel HTML
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person"); echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['FirstName'] . "</td>"; echo "<td>" . $row['LastName'] . "</td>"; echo "</tr>"; } echo "</table>"; mysql_close($con); ?> |
Hasilnya akan terlihat sbb:
Firstname | Lastname |
---|---|
Glenn | Quagmire |
Peter | Griffin |
Klausa Where
Untuk hanya mengambil data yang sesuai dengan spesifikasi kriteria , tambahkan klausa WHERE ke pernyataan SELECT.
Penulisan
SELECT column FROM table WHERE column operator value |
Operator berkut dapat digunakan dengan klausa WHERE :
Operator | Description |
= | Equal (sama dengan) |
!= | Not equal ( tidak sama dengan) |
> | Greater than ( lebih besar) |
< | Less than (lebih kecil) |
>= | Greater than or equal (besar sama dengan) |
<= | Less than or equal (kecil sama dengan) |
BETWEEN | Between an inclusive range di antara |
LIKE | Search for a pattern (cari yang sama) |
Contoh
Contoh berikut akan mengambil semua baris dari tabel “Person” , dimana FirstName=’Peter’:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person WHERE FirstName='Peter'"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } ?> |
Hasil dar code di atas mebjadi :
Peter Griffin |
Kata kunci ORDER BY
Kata kunci ORDER BY digunakan untuk mengatur urutan tampilan data pada suatu recordset.
Penulisan
SELECT nama_kolom(s) FROM nama_tabel ORDER BY nama_kolom |
Contoh
Contoh berikut mengambil semua data yang tersimpan dalam tabel “Person”, dan urutan yang dihasilkan berdasarkan kolom “Age”:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('koneksi gagal: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person ORDER BY age"); while($row = mysql_fetch_array($result)) { echo $row['FirstName']; echo " " . $row['LastName']; echo " " . $row['Age']; echo "<br />"; } mysql_close($con); ?> |
The output of the code above will be:
Glenn Quagmire 33 Peter Griffin 35 |
Urutan Ascending atau Descending
Jika anda menggunakan kata kunci ORDER BY, Urutan dari recordset adalah kecil ke besar (1 ke 9 dan “a” ke “p”).
Gunakan Kata kunci DESC untuk mengatur urutan besar ke kecil (9 ke 1 dan “p” ke “a”):
SELECT nama_kolom(s) FROM nama_tabel ORDER BY nama_kolom DESC |
Order by pada 2 Kolom
order by lebih dari satu kolom. kolom yang kedua hanya digunakan jika nila pada kolom pertama mirip:
SELECT nama_kolom,.. FROM nama_tabel ORDER BY nama_kolom1, nama_kolom2 |
Baca Juga :