i (am) Blogger and U?

from X-periment to X-perience

Profile / Portofolio Pro 2

Aplikasi Profil / Portofolio Pro 2, software berbasis web untuk pengelolaan portofolio atau untuk menampilkan profil baik perusahaan maupun perseorangan. Selain itu software ini dapat p [...]

Starter: Anime/Movie Sharing

Produk yang satu ini adalah aplikasi web yang dikhususkan bagi Anda yang ingin memiliki situs/web yang dengan fasilitas untuk menampilkan anime/movie dan dapat ditonton oleh para pengun [...]

Aplikasi Web: Custom X

Aplikasi Web Custom X, software berbasis web dinamis dengan fitur utama adalah pembuatan SURVEY dan/atau POLLING dengan jumlah yang tidak dibatasi. Selain itu aplikasi ini juga memiliki [...]

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

Aplikasi Web: Online Shop PRO 1

Toko Online Pro 1 adalah paket full-features aplikasi toko online yang dapat digunakan untuk menjalankan bisnis Anda secara online. Aplikasi ini memiliki fitur-fitur unggulan dan lengk [...]

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

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