Sebelum membuat script seaching ada baiknya untuk mempelajari dasar untuk menampilkan data. Pada tutorial ini akan digunakan sebuah tabel siswa seperti berikut:
Fieldname | Tipe Data | Keterangan |
---|---|---|
id | int(11) | primary key |
nama | varchar(50) | |
ayah | varchar(50) | |
ibu | varchar(50) | |
alamat | text |
Searching biasanya menggunakan query "like", seperti:
select * from nama_table where nama_field like '%cari%'hasilnya adalah semua data yang berisikan kata cari seperti "mencari", "pencarian".
Membuat Quick Search
Untuk membuat Quick Search gunakan skrip php di bawah:
- <!-- form quick search -->
- <form name="form1" method="get" action="">
- Search : <input type="text" name="q" id="q"/> <input type="submit" value="Search"/>
- </form>
- <!-- menampilkan hasil pencarian -->
- <?php
- if(isset($_GET['q']) && $_GET['q']){
- $conn = mysql_connect("localhost", "root", "");
- mysql_select_db("test");
- $q = $_GET['q'];
- $sql = "select * from siswa where nama like '%$q%' or
- ayah like '%$q%' or ibu like '%$q%' or alamat like '%$q%'";
- $result = mysql_query($sql);
- if(mysql_num_rows($result) > 0){
- ?>
- <table>
- <tr>
- <td>Nama</td>
- <td>Ayah</td>
- <td>Ibu</td>
- <td>Alamat</td>
- </tr>
- <?php
- while($siswa = mysql_fetch_array($result)){?>
- <tr>
- <td><?php echo $siswa['nama'];?></td>
- <td><?php echo $siswa['ayah'];?></td>
- <td><?php echo $siswa['ibu'];?></td>
- <td><?php echo $siswa['alamat'];?></td>
- </tr>
- <?php }?>
- </table>
- <?php
- }else{
- echo 'Data not found!';
- }
- }
- ?>
Membuat Advanced Search
Gunakan skrip di bawah untuk membuat advanced search.
- <!-- form advanced search -->
- <form name="form1" method="get" action="">
- Nama : <input type="text" name="nama" id="nama"/> <br/>
- Ayah : <input type="text" name="ayah" id="ayah"/> <br/>
- Ibu : <input type="text" name="ibu" id="ibu"/> <br/>
- Alamat : <input type="text" name="alamat" id="alamat"/>
- <br/><input type="submit" value="Search" name="search"/>
- </form>
- <!-- menampilkan hasil pencarian -->
- <?php
- if(isset($_GET['search'])){
- $conn = mysql_connect("localhost", "root", "");
- mysql_select_db("test");
- $nama = $_GET['nama'];
- $ayah = $_GET['ayah'];
- $ibu = $_GET['ibu'];
- $alamat = $_GET['alamat'];
- $sql = "select * from siswa where nama like '%$nama%' and
- ayah like '%$ayah%' and ibu like '%$ibu%' and alamat like '%$alamat%'";
- $result = mysql_query($sql);
- if(mysql_num_rows($result) > 0){
- ?>
- <table>
- <tr>
- <td>Nama</td>
- <td>Ayah</td>
- <td>Ibu</td>
- <td>Alamat</td>
- </tr>
- <?php
- while($siswa = mysql_fetch_array($result)){?>
- <tr>
- <td><?php echo $siswa['nama'];?></td>
- <td><?php echo $siswa['ayah'];?></td>
- <td><?php echo $siswa['ibu'];?></td>
- <td><?php echo $siswa['alamat'];?></td>
- </tr>
- <?php }?>
- </table>
- <?php
- }else{
- echo 'Data not found!';
- }
- }
- ?>
Perbedaan advanced search dengan quick search adalah: Quick search menggunakan operator "or" pada sql query, sedangkan Advanced search menggunakan operator "and" dengan beberapa kriteria pencarian, seperti nama, ayah, ibu, alamat.
Sumber :http://www.myphptutorials.com/
Posting Komentar