Format tarikh menggunakan sintak SQL

Format untuk tarikh dalam MySQL hanyalah ’2009-01-01′ untuk jenis data date  dan ’2009-01-01 11:50:29′ untuk jenis data datetime. Ini sama sekali tidak menyamai format tarikh yang digunakan di negara kita iaitu 01-01-2009 ataupun 01/01/2009.

Artikel kali ini akan menyelesaikan permasalahan tanpa melibatkan sebarang kod dari PHP. Berikut adalah caranya

SELECT date_format
( nama_medan, '%d/%m/%Y' ) as tarikh
FROM nama_jadual

 Ini akan menghasilkan output 01/01/2009.

Ini merupakan format-format yang ada.

Sintak Paparan
%W Wednesday
%a Wed
%D 5th
%d 05
%e 5
%M January
%b Jan
%m 01
%Y 2009
%y 09
%T 20:00:20
%H 20
%i 00

Bacaan lanjut boleh dilakukan di http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format.

Memaparkan data dari pangkalan data MySQL menggunakan PHP

Artikel kali ini akan menceritakan bagaimana memaparkan data dari pangkalan data (database) MySQL kepada pelayar(browser) menggunakan PHP.

Pertama sekali, kita perlu menyediakan pangkalan datanya terlebih dahulu. Kod dibawah merupakan sintak untuk membina pangkalan data. Kita namakan pangkalan data ini sebagai test_tutorial.

 

CREATE DATABASE `test_tutorial` ;

Seterusnya kita perlu pula membina jadual(table) didalam pangkalan data tersebut. Dan jadual ini kita namakan sebagai users.

 

CREATE TABLE `test_tutorial`.`users` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`first_name` TEXT NOT NULL ,
`last_name` TEXT NOT NULL ,
`date_of_birth` DATE NOT NULL
) ENGINE = MYISAM ;

Selesai kita membuat jadual, data perlu dimasukkan. Kod dibawah akan memasukkan 2 baris data kedalam jadual users.

 

INSERT INTO `test_tutorial`.`users` (
`id` ,
`first_name` ,
`last_name` ,
`date_of_birth`
)
VALUES (
NULL , 'Jasdy', 'Syarman', '1980-01-16'
), (
NULL , 'Abu', 'Ahmad', '2004-03-16'
);

Tamat bahagian pangkalan data. Kini kita beralih pula kepada bahagian kod aturcara PHP. Objektif kali ini, kamu akan mampu melakukan penyambungan dari PHP ke MySQL. Kemudian kamu akan dapat memahami penggunaan include, mysql_query(), mysql_fetch_array() dan juga gelung while.

Mula-mula kita perlu lakukan pemyambungan ke pelayan(server) MySQL serta memilih pangkalan data yang bakal dihubungkan. Kod aturcara dibawah menunjukkan bagaimana ianya dilakukan. Simpan kod ini dalam fail db.php

 

<?php
    $host = "localhost";
    $user   = "root";
    $password = null;
    $database = "test_tutorial";

    //melakukan penyambungan ke pelayan MySQL
    $connection = mysql_pconnect("$host","$user","$password")
        or die ("Couldn't connect to server.");

    //memilih pangkalan data yang akan digunakan
    $db = mysql_select_db("$database", $connection)
        or die("Couldn't select database.");
?>

Seterusnya kod aturcara dibawah akan menunjukkan bagaimana mahu memaparkan data yang diperolehi dari pangkalan data. Simpan kod ini didalam fail display.php

 

<?php
    //memasukkan fail db.php ke fail ini.
    include 'db.php';

    //mengumpukkan pernyataan sql kedalam pembolehubah.
    $sql = 'SELECT * FROM users';

    //menukarkan pembolehubah menjadi query
    $query = mysql_query($sql)
        or die(mysql_error());

    //penggunaan loop while digunakan bagi memaparkan lebih dari satu baris data.
    while ($result = mysql_fetch_array($query))
    {
        echo 'First Name :' .$result['first_name'];
        echo '<br />'; //<br /> adalah sintak html untuk baris baru.
        echo 'Last Name :' .$result['last_name'];
        echo '<br />';
        echo 'Date of Birth :' .$result['date_of_birth'];
        echo '<br />';
    }
?>

Kamu boleh melihat hasilnya dengan menaip http://localhost/laluan_ke_fail/display.php pada pelayar kamu.

Penerangan bagi setiap sintak yang digunakan, sengaja tidak di terangkan secara terperinci namun cukup untuk membuatkan kamu memahami bagaimana ianya berfungsi. Sekiranya kamu ada sebarang pertanyaan, bolehlah tinggalkan komen.

Penggunaan FORMAT didalam MySQL

Merujuk kepada pertanyaan AminOO7 pada artikel ini. Cara untuk menyelesaikan permasalahan nombor integer yang diperolehi dari pangkalan data (database) yang tidak mempunyai tanda ‘,’ ialah dengan menggunakan fungsi FORMAT yang terdapat didalam MySQL.

SELECT FORMAT(12345.00, 2);

Merujuk kepada kepada sintak diatas, nombor 2 selepas tanda ‘,’ merupakan bilangan titik perpuluhan yang kita mahu paparkan.

Sekiranya kita mahu memanggil nilai dari dalam medan tertentu. Inilah caranya.

SELECT *,FORMAT(nama_medan, 2) AS noBaru
FROM nama_jadual;

Selamat mencuba!

Ekstrak nama domain dari email

Asalnya soalan ini ditanyakan di forum komuniti http://php.net.my . Bagaimana mahu mengekstrak nama domain dari email yang tersimpan didalam pangkalan data(database) MySQL.

Ini merupakan contoh jadual (table) di dalam pangkalan data.

CREATE TABLE `emails` (
`id` INT NOT NULL AUTO_INCREMENT ,
`email` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM;

Ini pula contoh data yang ada di dalam meja.

INSERT INTO `emails` (
`id` ,
`email`
)
VALUES (
NULL , 'foo@foobar.com'
), (
NULL , 'fii@fii.com.my'
);

Cara untuk menyelesaikan permasalahan ini ialah dengan menggunakan sintak SQL seperti di bawah.

SELECT email,
CONCAT('www.',
SUBSTRING_INDEX(email,'@',-1)
) AS domain
FROM emails;

Penggunaan CONCAT adalah untuk menggabungkan nilai-nilai yang ada. Manakala penggunaan fungsi SUBSTRING_INDEX pula untuk memisahkan nilai yang ada. Dalam kes ini untuk mendapatkan nilai selepas simbol @.