i (am) Blogger and U?

from X-periment to X-perience

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 [...]

Web Profil / Portofolio Basic 2

Web Profil/Portofolio Basic 2 memiliki fitur-fitur yang sama persis dengan Web Profil/Portofolio Basic 1 tapi dengan theme/template yang berbeda.

One-Page Portofolio / Gallery 1

One-Page Portofolio/Gallery adalah paket aplikasi web yang memfasilitasi Anda baik perseorangan maupun korporat yang ingin menampilkan/memajang portofolio/hasil karya/gallery kegiatan/p [...]

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 [...]

Online Shop Basic 1

Online Shop Basic 1 adalah paket minimalis aplikasi toko online instan yang dapat digunakan untuk menjalankan bisnis secara online. Aplikasi ini adalah aplikasi toko online yang "sudah [...]

Web Profil / Portofolio Basic 1

Web Profil/Portofolio Basic 1, aplikasi/software untuk mengelola portofolio (atau bisa juga dijadikan sebagai photo/image gallery) atau untuk menampilkan profil perusahaan maupun perseo [...]

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. <<