Jumat, 30 Desember 2011

Teknik Modularitas di PHP

Konsep modularitas dalam programming diperlukan untuk mempermudah dalam pengorganisasian script/program. Adapun prinsip dari konsep ini adalah meletakkan beberapa perintah yang menjalankan suatu tugas khusus ke dalam modul atau file script tersendiri. Setiap kali modul tersebut dibutuhkan, kita hanya menyisipkan modul tersebut ke dalam script yang sedang dibuat dengan cara memanggilnya.
Adapun cara memanggil modul dengan menggunakan perintah
include "namafilemodul";
Perhatikan gambaran penggunaan konsep modularitas berikut ini:
Misalkan Anda membuat modul dan disimpan dalam script bernama modulku.php. Selanjutnya Anda sedang membuat script tertentu katakanlah diberinama file scriptku.php. Kebetulan dalam scriptku.php Anda membutuhkan modulku.php, maka skema yang terjadi adalah:
 

Dari skema di atas, jelas tampak bahwa bila Anda memberikan perintah include "modulku.php"; dalam scriptku.php, maka akan identik dengan bila Anda menyisipkan script yang ada dalam modulku.php ke dalam scriptku.php secara manual.
 Contoh:
Dalam contoh ini kita akan menggunakan konsep modularitas untuk membuat script operasi aritmatika penjumlahan dan pengurangan dari 2 buah bilangan. Untuk input bilangannya disimpan dalam modul tersendiri, misalkan dinamakan bilangan.php. Selanjutnya modul ini akan diincludekan ke dalam script penjumlahan dan pengurangan.
bilangan.php
<?php
$bil1 = 10;
$bil2 = -5;
?>
jumlah.php
<?php
include "bilangan.php";
$hasil = $bil1 + $bil2;
echo "Hasil penjumlahannya adalah : ".$hasil;
?>
Bentuk script jumlahkan.php di atas akan identik dengan script berikut ini
<?php
$bil1 = 10;
$bil2 = -5;
$hasil = $bil1 + $bil2;
echo "Hasil penjumlahannya adalah : ".$hasil;
?>
kurang.php
<?php
include "bilangan.php";
$hasil = $bil1 - $bil2;
echo "Hasil pengurangannya adalah : ".$hasil;
?>
Script kurang.php di atas akan identik dengan
<?php
$bil1 = 10;
$bil2 = -5;
$hasil = $bil1 - $bil2;
echo "Hasil pengurangannya adalah : ".$hasil;
?>

Penerapan Teknik Modularitas
Teknik modularitas dapat dipergunakan dalam pengaturan layout halaman web supaya lebih mudah. Sebelum Anda mengenal teknik modularitas, apa yang Anda lakukan bila diminta membuat halaman web sejumlah 20 buah dengan desain layout yang sama, namun kontennya berbeda? Tentu Anda akan membuat satu buah desain template untuk layout, lalu Anda tinggal mengganti kontennya saja.
OK.. itu mudah, namun bagaimana seandainya dari 20 buah halaman web tersebut Anda ingin ubah desainnya? Tentu Anda harus mengubah semua halaman satu persatu. Bagaimana bila terdapat 100 buah halaman web dan kesemuanya Anda ingin ubah desainnya? Wah repot ya kalau satu persatu. Nah… di sinilah kita akan gunakan teknik modularitas. Dengan teknik modularitas ini, Anda dapat mengubah desain layout dari banyak halaman web dengan satu langkah saja secara cepat.
Perhatikan contoh berikut ini:
Misalkan kita buat desain layout untuk halaman web kita sebagai berikut:
<html>
<head>
<title>Halaman Webku</title>
</head>
<body background="yellow">
<h1><font face="arial">…</font></h1>
<p><font face="verdana"> … </font></p>
</body>
</html>
Nah… misalkan kita akan membuat 3 halaman web menggunakan layout di atas. Maka caranya, kita cari blok dalam HTML layout yang nantinya akan diisi dengan konten yang berbeda-beda untuk masing-masing halaman.
<html>
<head>
<title>Halaman Webku</title>
</head>
<body bgcolor="yellow">
<h1><font face="arial">…</font></h1>
<p><font face="verdana"> … </font></p>
</body>
</html>
Keterangan:
Bagian yang diblok di atas merupakan bagian tag yang nantinya akan diisi dengan konten yang berbeda-beda untuk setiap halamannya. Langkah selanjutnya, kita pindahkan tag HTML mulai bagian paling atas dari layout
sampai dengan sebelum tag yang dicetak tebal. Tag-tag tersebut kita pindahkan ke dalam modul tersendiri, misalkan dinamakan header.php
header.php
<html>
<head>
<title>Halaman Webku</title>
</head>
<body bgcolor="yellow">
Kemudian pindahkan tag setelah bagian yang dicetak tebal dalam layout sampai dengan tag terakhir ke dalam modul tersendiri dan simpan dengan nama footer.php.
footer.php
</body>
</html>
Nah… selanjutnya untuk setiap halaman yang ingin Anda buat, berikan include "header.php" dan include "footer.php";
hal1.php
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 1</font></h1>
<p><font face="verdana">Ini isi halaman 1. Ini isi halaman 1</font></p>
<?php
include "footer.php";
?>
hal2.php
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 2</font></h1>
<p><font face="verdana">Ini isi halaman 2. Ini isi halaman 2</font></p>
<?php
include "footer.php";
?>
hal3.php
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 3</font></h1>
<p><font face="verdana">Ini isi halaman 3. Ini isi halaman 3</font></p>
<?php
include "footer.php";
?>
Nah… dengan demikian, kita akan peroleh 3 halaman web yang pasti memiliki layout yang sama. Terus… bagaimana bila kita ingin mengubah layoutnya? Misal kita ubah warna background menjadi hijau. Yang Anda lakukan hanyalah mengedit modul header.php karena pengaturan warna background terdapat pada modul tersebut.

Senin, 19 Desember 2011

Tutorial Membuat AJAX Search dengan PHP

Tutorial Membuat AJAX Search atau skrip pencarian data menggunakan AJAX. Tutorial ini adalah kelanjutan dari tutorial Membuat Searching (Skrip Pencarian Data). Sebelum mengikuti tutorial ini ada baiknya untuk mengikuti tutorial AJAX sebelumnya. AJAX search bisa diterapkan pada quick search. Hasil akhir tutorial ini adalah skrip pencarian seperti google instant search. Tutorial ini menggunakan jQuery, jQuery bisa didownload di website jQuery, atau bisa juga menggunakan google CDN http://code.google.com/apis/libraries/devguide.html#jquery.
Tutorial AJAX search ini masih menggunakan tabel siswa seperti berikut:

Fieldname Tipe Data Keterangan
idint(11)primary key
namavarchar(50)
ayahvarchar(50)
ibuvarchar(50)
alamattext

selain itu diasumsikan Anda telah memiliki pengetahuan javascript, DOM dan jQuery.

AJAX Search


Gunakanlah skrip php dan javascript di bawah untuk membuat AJAX search (simpan dengan nama ajax-search.php). Skrip di bawah merupakan pengembangan dari skrip quick search di tutorial Membuat Searching (Skrip Pencarian Data).
<!--file ajax-search.php -->
<?php if(!isset($_GET['q'])):?>
<!-- form quick search --> 
<form name="form1" method="get" action=""> 
Search : <input type="text" name="q" id="q"/> <input type="submit" value="Search"/> 
</form> 
<!-- tempat hasil pencarian ditampilkan -->
<div id="result"></div>
<!-- javascript -->
<!-- jquery -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
 var allow = true;
 $(document).ready(function(){
  $("#q").keypress(function(e){
   if(e.which == '13'){
    e.preventDefault();
    loadData();
   }else if($(this).val().length >= 2){
    loadData();
   }
  });
 });
 function loadData(){
  if(allow){
   allow = false;
   $("#result").html('loading...');
   $.ajax({
    url:'ajax-search.php?q='+escape($("#q").val()),
    success: function (data){
     $("#result").html(data);
     allow = true;
    }
   });
  }
 }
</script>
<?php endif;?>
<?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!'; 
 } 
} 
?> 

pada baris ke-11 sampai ke-37 ditambahkan javascript untuk menampilkan data secara dinamis pada saat pengguna mengetikkan 3 karakter atau lebih atau pada saat pengguna menekan tombol enter.

Selamat Mencoba

abs,acos,acosh.asin.asinh di PHP

abs

Fungsi: Nilai absolut
Sintaks:

abs ( mixed $number )
Contoh:

<?php
$abs = abs(-4.2);
$abs2 = abs(5);
$abs3 = abs(-5);
echo $abs."<br>".$abs2."<br>".$abs3;
//hasilnya :
//4.2
//5
//5
?>

acos

Fungsi: Menghasilkan Arc cosine, $arg dalam radians
Sintaks:

acos ( float $arg )

acosh

Fungsi: Menghasilkan kebalikan hyperbolic cosine
Sintaks:

acosh ( float $arg )

asin

Fungsi: Menghasilkan Arc sine, $arg dalam radians
Sintaks:

asin ( float $arg )

asinh

Fungsi: Kebalikan dari hyperbolic sine
Sintaks:

asinh ( float $arg )

atan2

Fugsi: Menghasilkan Arc tangent dari dua variabel, $x dan $y dalam radians
Sintaks:

atan2 ( float $y , float $x )

atan

Fungsi: Menghasilkan Arc tangent
Sintaks:

atan ( float $arg )

ceil

Fungsi: Pembulatan ke atas
Sintaks:

ceil ( float $value )
Contoh:

<?php
echo ceil(4.3);    //hasilnya 5
echo ceil(9.999);  //hasilnya 10
echo ceil(-3.14);  //hasilnya -3
?>

cos

Fungsi: Menghasilkan cosinus
Sintaks:

cos ( float $arg )
$arg adalah dalam radians

cosh

Fungsi: Menghasilkan hyperbolic cosine
Sintaks:

cosh ( float $arg )

deg2rad

Fungsi: Mengubah derajat ke radians, fungsi-fungsi matematika di PHP kebanyakan menggunakan radian, jadi misal anda mencari cos 60o maka anda perlu mengubah 60o menjadi radians
Sintaks:

deg2rad ( float $number )
Contoh:

<?php
echo deg2rad(45); //hasilnya 0.785398163397
?>

exp

Fungsi: Menghitung exponent dari e, di mana e adalah bilangan logaritma natural, yaitu: 2.718282
Sintaks:

exp ( float $arg )
Contoh:

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>
Hasilnya:

1.6275E+005
298.87

floor

Fungsi: Pembulatan ke bawah
Sintaks:

floor ( float $value )
Contoh:

<?php
echo floor(4.3);   // hasilnya 4
echo floor(9.999); // hasilnya 9
echo floor(-3.14); // hasilnya -4
?>

log10

Fungsi: Logaritma berbasis 10
Sintaks:

log10 ( float $arg )

log

Fungsi: Natural logarithm
Sintaks:

log ( float $arg )

max

Fungsi: Mencari nilai tertinggi dari suatu list atau array angka
Sintaks:

max ( array $values )
max ( mixed $value1 , mixed $value2 [, mixed $value3... ] )
Contoh:

<?php
echo max(1, 3, 5, 6, 7);  //Hasilnya 7
echo max(array(2, 4, 5)); //Hasilnya 5
?>

min

Fungsi: Mencari nilai terkecil dari suatu list atau array angka
Sintaks:

min ( array $values )
min ( mixed $value1 , mixed $value2 [, mixed $value3... ] )
Contoh:

<?php
echo min(2, 3, 1, 6, 7);  //hasilnya 1
echo min(array(2, 4, 5)); //hasilnya 2
?>

pi

Fungsi: Mendapatkan nilai pi
Sintaks:

pi ( void )
Contoh:

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

pow

Fungsi: Menghasilkan pangkat atau eksponen

pow ( number $base , number $exp )
Contoh:

<?php
echo "2 pangkat 3 = ".pow(2,3);
//2 pangkat 3 = 8
?>

rad2deg

Fungsi: Mengubah radian ke derajat
Sintaks:

rad2deg ( float $number )

rand

Fungsi: Menghasilkan angka random bertipe integer
Sintaks:

rand ( void )
rand ( int $min , int $max )
Parameter $min, untuk mengeset nilai terendah angka random, $max untuk mengeset nilai tertinggi angka random

<?php
echo rand() . "<br>";
echo rand() . "<br>";

echo rand(5, 15);
?>

round

Fungsi: Membulatkan nilai float
Sintaks:

round ( float $val ,[int $precision])
$precision untuk me-set dibulatkan sampai berapa angka di belakang koma, defaultnya adalah 0
Contoh:

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

sin

Fungsi: Menghasilkan Sin
Sintaks:

sin ( float $arg )
$arg dalam radian

sinh

Fungsi: Menghasilkan hyperbolic sine
Sintaks:

sinh ( float $arg )

sqrt

Fungsi: Menghaslikan akar kuadrat
Sintaks:

sqrt ( float $arg )
Contoh:

<?php
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

tan

Fungsi: Menghasilkan tangent
Sintaks:

tan ( float $arg )
$arg dalam radian

tanh

Fungsi: Menghasilkan Hyperbolic tangent
Sintaks:

tanh ( float $arg )
 

Membuat Form Kontak

Hampir di setiap website memiliki fasilitas Bukutamu ataupun kontak. Ada yang terkirim ke email ada pula yang terkirim ke database. Pada artikel kali ini kita membuat form semacam bukutamu yang terkirim ke email dan bukan ke database. Keuntungan pengiriman melalui email ini, kita bisa menghemat space hosting. Selain itu, kita bisa menggunakan layanan email gratis yang spacenya cukup besar seperti yahoo atau gmail.

Untuk membuat aplikasi ini, kita membutuhkan class phpmailer supaya lebih mudah dan tidak perlu repot coding. Anda bisa mendownload class phpmailer di sini. Untuk kepentingan tutorial ini, Anda dapat melakukan download file tersebut disini. Hasil download merupakan file .zip yang terdiri dari 4 file, yaitu: class.phpmailer.php , class.smtp.php, action_form.php dan form.php. Yang perlu Anda edit adalah file form.php yang merupakan form untuk mengirimkan email dan file action_form.php yaitu file untuk memproses masukan dari form.php.
PHP:
/*
   File Form.php Silahkan sesuaikan dengan kebutuhan Anda
*/
 
 
<form method="post" action="action_form.php" enctype="multipart/form-data">
    <table align="center" width="300" cellpadding="0" cellspacing="0" border="0">
        <tr>
            <td colspan="2" align="center"><b>Fungsi PHPMailer</b></td>
        </tr>
        <tr>
            <td>Nama</td>
            <td></td>
        </tr>
        <tr>
            <td>Email</td>
            <td></td>
        </tr>
        <tr>
            <td>Subject</td>
            <td></td>
        </tr>
        <tr>
            <td>Keterangan</td>
            <td><textarea name="pesan" cols="20" rows="5"></textarea></td>
        </tr>
        <tr>
            <td><img /></td>
            <td></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td></td>
        </tr>
    </table>
</form>

Pada file form.php di atas ada beberapa unsur masukan, yaitu Nama Pengirim, email, subjek dan Isi pesan. Silahkan sesuaikan dengan kebutuhan Anda.
Berikutnya adalah mengedit file action_form.php. sesuaikan dengan konfigurasi email Anda.
:
if(isset($_POST['submit'])){
   if($_POST['ccek'] == $_SESSION['capcay']){
      //echo "Lolos Validasi";
   
 
 
require_once("class.phpmailer.php"); // Sesuaikan dengan lokasi file class.phpmailer.php anda
 
$mail = new PHPMailer();
 
// setting
$mail->IsSMTP()// Fungsi Pengiriman dengan SMTP
$mail->Host     = "rumahweb.info"; // server mail anda
$mail->SMTPAuth = true;     
$mail->Username = "dhyar@rumahweb.info"// username email anda
$mail->Password = "123456d"; //
 
// pengirim
$mail->From     = "dhyar82@gmail.com"; // Masukan dari form.php variabel email
$mail->FromName = "Dhyar Irdiansyah"; // Masukan dari form.php variabel nama
 
// penerima
$mail->AddAddress("$_POST[email]","$_POST[nama]");
//$mail-&gt;AddCC("$_POST[email]",",$_POST[nama]"); // Jika email akan dikirimkan juga ke pengirim --&gt; masukan dari form : CC
$mail->AddBCC("dhyar@rumahweb.info"); // alamat email BCC
 
// kirim balik
$mail->AddReplyTo("$_POST[email]","$_POST[nama]"); // Kirim balik jika ingin reply
 
$mail->WordWrap = 50;                              // set word wrap
//$mail->AddAttachment(getcwd() . "/$_POST[file1]");      // attachment --&gt; hapus double slash untuk mengaktifkan
$mail->IsHTML(true);                               // send as HTML
 
//Subject dan isi Pesan
$mail->Subject  =  "$_POST[subject]";
$mail->Body     =  "$_POST[pesan]";
$mail->AltBody  =  "$_POST[pesan]";
 
if(!$mail->Send())
{
   echo "Message was not sent </p><p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}
 
echo "Terima Kasih telah Menghubungi Kami";
} else {
      echo "Salah";
   }
}

Mempercepat Internet Ubuntu



Benar benar mantap setelah merasakan install program ini.

Dnsmasq menyediakan dua layanan, baik yang dapat digunakan secara terpisah.

* DNS layanan
* Layanan DHCP (termasuk fitur yang berhubungan dengan boot jaringan)

Sebuah cache DNS lokal dapat mempercepat browsing internet karena browser pengguna tidak perlu mengakses server nama domain ketika terlihat sebuah nama domain komputer telah dikunjungi sebelumnya.

DHCP memungkinkan komputer pengguna untuk mengalokasikan alamat jaringan ke komputer lain pada jaringan kabel atau nirkabel. Sebuah komputer membutuhkan alamat jaringan yang unik dalam rangka untuk melakukan akses internet.

Dnsmasq tidak dirancang untuk apa yang disebut "Internet Connection Sharing," Namun, itu tidak memberikan banyak layanan yang diperlukan di latar belakang. Dengan dnsmasq mengatur, hanya dua perintah tambahan dapat mengatur berbagi koneksi internet .

Caranya:

  • install programnya
    • sudo apt-get install dnsmasq
  • edit konfigurasinya
    • sudo gedit /etc/dnsmasq.conf
    • cari baris #listen-address=, edit jadikan listen-address=127.0.0.1
    • /etc/dhcp3/dhclient.conf
    • cari baris ke 20 #supersede domain-name "fugue.com home.vix.com";
      prepend domain-name-servers 127.0.0.1;
      request subnet-mask, broadcast-address, time-offset, routers,
      domain-name, domain-name-servers, host-name,
      netbios-name-servers, netbios-scope; edit jadikan   supersede domain-name "fugue.com home.vix.com";
      prepend domain-name-servers 127.0.0.1;
      request subnet-mask, broadcast-address, time-offset, routers,
      domain-name, domain-name-servers, host-name,
      netbios-name-servers, netbios-scope;

    • sudo gedit /etc/resolv.conf tambahkan nameserver 127.0.0.1 pada baris pertama

    • sudo /etc/init.d/dnsmasq restart

    • test dig ubuntu.com

Senin, 12 Desember 2011

php CEK jika data kosong

<?php 
        
include 'connection.php';

        
//create variable to store data
        
$user=$_POST['user'];
        
$password1=$_POST['password1'];
        
$password2=$_POST['password2'];
        
$email=$_POST['email'];
        
$phone=$_POST['phone'];
        
$company=$_POST['company'];
        
$address=$_POST['address'];
        
        
// CEK IF DATA NOT EMPTY
    
            //cek if password anda retype password in same
            
if($password1!=$password2){
                echo 
'<h2>Password and Retype Password must be in same!</h2>';
                
            }else{
                
//save data to database
                // creating query
                
$query="INSERT INTO user_login (user, password, email, phone, address) VALUES 
                ('$user', '$password1', '$email', '$phone', '$address' )"
;
                
                
$result=@mysql_query($query)or die(mysql_error());
                if(
$result){
                    echo 
'<h2>Registration Success</h2><br><a href="index.php">Continue Login</a>';
                }else{
                    echo 
'<h2>Error!! Can not save data to database!</h2>';
                }
            }
            
        
?>




if(empty($user) || empty($password1) || empty($password2) || empty($email) || empty($phone) || empty($company) || empty($address) ){
            echo 
'<h2>Sorry data incomplete</h2>';
}

 

Senin, 05 Desember 2011

Membuat Galeri Foto dengan PHP

Sebelum membuat galeri foto, anda harus bisa mengupload file dengan php. Secara singkat galeri foto yang akan dibuat adalah sebagai berikut. Pertama pengguna memilih gambar yang akan diupload dan memasukkan deskripsi gambar. Kemudian dengan php, gambar akan diupload ke sebuah folder. Nama file dan deskripsi gambar akan disimpan ke database.

Membuat Database Galeri Foto


Buatlah sebuah database dengan nama "galeri", dan buat sebuah tabel "foto" dengan struktur seperti:
Nama Field Tipe Data Keterangan
id int(11) Primary Key, auto increment
nama_file varchar(255)
deskripsi varchar(255)


atau gunakan sql query di bawah
  1. CREATE TABLE `foto` (  
  2.  `id` int(11) NOT NULL AUTO_INCREMENT,  
  3.  `nama_file` varchar(255) NOT NULL,  
  4.  `deskripsi` varchar(255) ,  
  5.  PRIMARY KEY (`id`)  
  6. )

Membuat Form dan Struktur Folder

  1. <html>  
  2. <head>  
  3.     <title>New Picture</title>  
  4. </head>  
  5. <body>  
  6.     <form name="form1" action="save-gallery.php" method="post" enctype="multipart/form-data">  
  7.         File: <input type="file" name="file" id="file"/><br/>  
  8.         Deskripsi: <textarea name="deskripsi" id="deskripsi"></textarea><br/>  
  9.         <input type="submit" name="save" value="Upload"/>  
  10.     </form>  
  11. </body>  
  12. </html>
kemudian simpan file tersebut.

Mengupload dan Menyimpan Gambar ke Database


Langkah selanjutnya adalah mengupload gambar ke folder "upload" dan menyimpan deskripsi dan nama file ke tabel "foto". Buka file save-gallery.php dan gunakan kode php di bawah untuk menyimpan gambar.
  1. <?php  
  2. //koneksi ke database  
  3. $conn = mysql_connect('localhost''userdb''password');  
  4. mysql_select_db('galeri');  
  5. //upload file  
  6. if(!empty($_FILES) && $_FILES['file']['size'] > 0 && $_FILES['file']['error'] == 0){  
  7.     $fileName = $_FILES['file']['name'];  
  8.     $move = move_uploaded_file($_FILES['file']['tmp_name'], 'upload/'.$fileName);  
  9.     if($move){  
  10.         //simpan deskripsi dan nama file ke database  
  11.         $sql = "insert into foto (nama_file, deskripsi) values  
  12.                 ('$fileName''".$_POST['deskripsi']."')";  
  13.         mysql_query($sql);  
  14.         header("Location: gallery.php");  
  15.         exit;  
  16.     }  
Pertama tama di baris ke 3-4 membuka koneksi ke database. Di baris ke-6 dilakukan pengecekan apakah file sudah terupload dan ukurannya lebih besar dari nol dan tidak terjadi error. Baris ke-8 memindahkan file yang telah terupload, dari temporary folder ke folder "upload" yang telah dibuat sebelumnya. Baris selanjutnya mengecek jika proses pemindahan file berhasil. Jika berhasil deskripsi dan nama file disimpan ke tabel 'foto'.

Menampilkan Gambar



Selanjunya, menampilkan gambar yang telah disimpan. Buka file gallery.php dan isi dengan kode php di bawah.
  1. <html>  
  2. <head>  
  3.     <title>Gallery</title>  
  4. </head>  
  5. <body>  
  6.     <?php  
  7.     //koneksi ke database  
  8.     $conn = mysql_connect('localhost''userdb''password');  
  9.     mysql_select_db('galeri');  
  10.     //membaca data dari database  
  11.     $result = mysql_query("select * from foto");  
  12.     //menampilkan foto  
  13.     ?>  
  14.     <table>  
  15.         <tr>  
  16.         <?php  
  17.         $i = 1;  
  18.         while($row = mysql_fetch_array($result)){  
  19.         ?>  
  20.             <td>  
  21.                 <a href="upload/<?php echo $row['nama_file'];?>">  
  22.                 <img src="upload/<?php echo $row['nama_file'];?>" alt="" width="200" border="0"/>  
  23.                 </a>  
  24.                 <br/><?php echo $row['deskripsi'];?>  
  25.             </td>  
  26.         <?php  
  27.             if($i % 3 == 0){  
  28.                 echo '</tr><tr>';  
  29.             }  
  30.             $i++;  
  31.         }  
  32.         ?>  
  33.         </tr>  
  34.     </table>  
  35. </body>  
  36. </html>

Membuat Searching (Skrip Pencarian Data) PHP

Searching atau pencarian data merupakan hal penting dalam sebuah aplikasi, apalagi aplikasi yang menangani data yang banyak. Ada dua tipe searching yaitu: Quick Search dan Advanced Search. Quick search adalah pencarian sederhana seperti google search, pengguna hanya memasukkan sebuah kata kunci dari apa yang dicarinya. Sedangkan Advanced search adalah pencarian lanjut yang lebih kompleks dengan beberapa kriteria pencarian, yang memungkinkan hasil pencarian yang lebih akurat.
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
idint(11)primary key
namavarchar(50)
ayahvarchar(50)
ibuvarchar(50)
alamattext

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:
  1. <!-- form quick search -->  
  2. <form name="form1" method="get" action="">  
  3. Search : <input type="text" name="q" id="q"/> <input type="submit" value="Search"/>  
  4. </form>  
  5. <!-- menampilkan hasil pencarian -->  
  6. <?php  
  7. if(isset($_GET['q']) && $_GET['q']){  
  8.     $conn = mysql_connect("localhost""root""");  
  9.     mysql_select_db("test");  
  10.     $q = $_GET['q'];  
  11.     $sql = "select * from siswa where nama like '%$q%' or   
  12.     ayah like '%$q%' or ibu like '%$q%' or alamat like '%$q%'";  
  13.     $result = mysql_query($sql);  
  14.     if(mysql_num_rows($result) > 0){  
  15.         ?>  
  16.         <table>  
  17.             <tr>  
  18.                 <td>Nama</td>  
  19.                 <td>Ayah</td>  
  20.                 <td>Ibu</td>  
  21.                 <td>Alamat</td>  
  22.             </tr>  
  23.             <?php  
  24.             while($siswa = mysql_fetch_array($result)){?>  
  25.             <tr>  
  26.                 <td><?php echo $siswa['nama'];?></td>  
  27.                 <td><?php echo $siswa['ayah'];?></td>  
  28.                 <td><?php echo $siswa['ibu'];?></td>  
  29.                 <td><?php echo $siswa['alamat'];?></td>  
  30.             </tr>  
  31.             <?php }?>  
  32.         </table>  
  33.         <?php  
  34.     }else{  
  35.         echo 'Data not found!';  
  36.     }  
  37. }  
  38. ?> 

Membuat Advanced Search


Gunakan skrip di bawah untuk membuat advanced search.
  1. <!-- form advanced search -->  
  2. <form name="form1" method="get" action="">  
  3. Nama : <input type="text" name="nama" id="nama"/> <br/>  
  4. Ayah : <input type="text" name="ayah" id="ayah"/> <br/>  
  5. Ibu : <input type="text" name="ibu" id="ibu"/> <br/>  
  6. Alamat : <input type="text" name="alamat" id="alamat"/>   
  7. <br/><input type="submit" value="Search" name="search"/>  
  8. </form>  
  9. <!-- menampilkan hasil pencarian -->  
  10. <?php  
  11. if(isset($_GET['search'])){  
  12.     $conn = mysql_connect("localhost""root""");  
  13.     mysql_select_db("test");  
  14.     $nama = $_GET['nama'];  
  15.     $ayah = $_GET['ayah'];  
  16.     $ibu = $_GET['ibu'];  
  17.     $alamat = $_GET['alamat'];  
  18.     $sql = "select * from siswa where nama like '%$nama%' and   
  19.     ayah like '%$ayah%' and ibu like '%$ibu%' and alamat like '%$alamat%'";  
  20.     $result = mysql_query($sql);  
  21.     if(mysql_num_rows($result) > 0){  
  22.         ?>  
  23.         <table>  
  24.             <tr>  
  25.                 <td>Nama</td>  
  26.                 <td>Ayah</td>  
  27.                 <td>Ibu</td>  
  28.                 <td>Alamat</td>  
  29.             </tr>  
  30.             <?php  
  31.             while($siswa = mysql_fetch_array($result)){?>  
  32.             <tr>  
  33.                 <td><?php echo $siswa['nama'];?></td>  
  34.                 <td><?php echo $siswa['ayah'];?></td>  
  35.                 <td><?php echo $siswa['ibu'];?></td>  
  36.                 <td><?php echo $siswa['alamat'];?></td>  
  37.             </tr>  
  38.             <?php }?>  
  39.         </table>  
  40.         <?php  
  41.     }else{  
  42.         echo 'Data not found!';   
  43.     }  
  44. }  
  45. ?> 

 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/