i (am) Blogger and U?

from X-periment to X-perience

Badge/Watermark Image Generator

Badge/Watermark Image Generator adalah aplikasi web yang digunakan untuk membuat badge/watermark atau penanda pada foto/gambar yang biasanya digunakan misalnya pada penanda foto produk [...]

One-Page Portofolio / Gallery 2

One-Page Portofolio / Gallery 2 memiliki fitur-fitur yang sama persis dengan One-Page Portofolio / Gallery 1 tapi dengan theme/template yang berbeda (theme yang dipakai pada versi ini a [...]

Online Shop Basic 2

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

Template Toko Online: Shopper Variant

SHOPPER-Variant 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 c [...]

One-Page Portofolio / Gallery 3

One-Page Portofolio / Gallery 3 memiliki fitur-fitur yang sama persis dengan One-Page Portofolio / Gallery 1 tapi dengan theme/template yang berbeda.

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

SQL Query, explode dan implode

Category: Web DevelopmentDate:
Thursday, 14 Sep 2017

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