i (am) Blogger and U?

from X-periment to X-perience

Aplikasi Web: Forum Mirip Twitter

Aplikasi ini merupakan aplikasi layaknya forum pada umumnya. Hal spesial dari aplikasi ini adalah adanya tambahan yang mirip dengan Twitter. Fitur-fitur yang dimiliki antara lain: foll [...]

Aplikasi Web: WebReview-Series 2

Web Review-Series 2 memiliki fitur-fitur yang sama persis dengan Web Review-Series 1 tapi dengan theme/template yang berbeda (theme yang dipakai pada versi ini adalah theme yang respons [...]

Belajar Online: E-learning - Kuis & Soal

"Belajar Online: E-learning - Kuis & Soal", Software/aplikasi e-learning berbasis web yang dapat digunakan oleh pengajar/guru/pembimbing atau perorangan untuk membuat soal/kuis atau per [...]

Aplikasi Web: Custom Form

Aplikasi Web Custom Form, software berbasis web dengan fitur utama adalah pembuatan DYNAMIC FORM (form web dinamis). Form ini terdiri dari berbagai jenis field, seperti field input text [...]

Template Toko Online: Shopper

SHOPPER adalah HTML template (menggunakan Bootstrap 3.3.6) yang ditujukan untuk toko online. Template ini terdiri dari 6 halaman siap pakai yaitu home, product lists, shopping cart, det [...]

Aplikasi Web: Pre-Order Online Shop

Pre-Order Online Shop adalah paket full-features aplikasi toko online yang dapat digunakan untuk menjalankan bisnis Anda secara online. Fasilitas unggulan yang terdapat pada aplikasi in [...]

2017
14Sept

SQL Query, explode dan implode

Post category: Web Development

Search dalam suatu aplikasi biasanya digunakan lebih dari satu WHERE clause misalnya (contoh kali digunakan tabel bernama artikel dengan kolom id, title, content):

[sql]
SELECT * FROM artikel WHERE
title LIKE '%teknologi%' OR
content LIKE '%teknologi%' OR
title LIKE '%informasi%' OR
content LIKE '%informasi%'
[/sql]



Masalah yang akan dibahas kali ini adalah bagaimana membentuk bagian setelah WHERE dari input yang diberikan oleh user. Misalkan dalam aplikasi yang Anda buat ada fasilitas untuk pencarian dan user menginputkan kata-kata "tips trik linux" dalam form pencarian. Pertama kita pecah dahulu kata-kata tersebut menjadi kata dengan menggunakan function explode()
[php]
#ini sekedar contoh, pada praktek nyata
#dianjurkan untuk melakukan filtering (seperti strip_tags dll)
#terhadap setiap input sebelum diproses
$katakata = $_POST['search'];

$kata = explode(' ',$katakata);
[/php]



Akan kita dapatkan masing-masing kata dalam bentuk array
[php]
$kata[0] = 'tips';
$kata[1] = 'trik';
$kata[2] = 'linux';
[/php]



Pencarian akan dilakukan terhadap kolom title dan content untuk setiap kata
[php]
$kolom_cari = array();

foreach($kata as $word){
$kolom_cari[] = "title LIKE '%$word%'";
$kolom_cari[] = "content LIKE '%$word%'";
}
[/php]



Sekarang akan kita dapatkan bentuk array
[php]
$kolom_cari[0] = "title LIKE '%tips%'";
$kolom_cari[1] = "content LIKE '%tips%'";

$kolom_cari[2] = "title LIKE '%trik%'";
$kolom_cari[3] = "content LIKE '%trik%'";

$kolom_cari[4] = "title LIKE '%linux%'";
$kolom_cari[5] = "content LIKE '%linux%'";
[/php]



Akhirnya untuk menyambungkan semua array kita gunakan implode()
[php]
$like = implode(' OR ',$kolom_cari);
[/php]


Hasilnya adalah variabel $like akan berisi: title LIKE '%tips%' OR content LIKE '%tips%' OR title LIKE '%trik%' OR content LIKE '%trik%' OR title LIKE '%linux%' OR content LIKE '%linux%'.


No comments...
>> Comments closed. <<