បញ្ចូលទិន្នន័យតាមវិធីភ្ជាប់ការទាក់ទងរវាង table ពីដោយប្រើកូដ PHP
នៅក្នុងទស្សនាវដ្ដីលេខ១០៣នេះយើងខ្ញុំនឹង លើកយកប្រើ PHP កូដក្នុងការបញ្ចូលនិងទាញទិន្នន័យពី MySQL Database តាមរយៈ id ដែលយើងបានកំណត់ដាក់នៅក្នុង Table។ដើម្បីបង្ហាញឱ្យឃើញច្បាស់នូវពេលនេះ CM លើកយកពីការប្រើប្រាស់រូបមន្តភាពប្រាស្រ័យ inner join clauseនៅក្នុង SQL Query ទៅតាមដំណាក់កាលនីមួយៗ។ជាដំបូងអ្នកត្រូវយល់ពី inner join clause ពីព្រោះក្នុងឧទាហរណ៍នេះយើងប្រើ inner join clause រវាង table ពីរហើយដាក់ឱ្យវាមានដំណើរការលើ Web Browserហើយជាបន្តសូមអនុវត្តន៍ដូចខាងក្រោម។
I បង្កើត Tableក្នុងកម្មវិធី MySQL
១)បង្កើត table ទីមួយឈ្មោះថា employee មានតារាងឬ table។
២)បង្កើតតារាងឬ table ទី២ឈ្មោះថា info មានទិន្នន័យដូចខាងក្រោមនិងមាន Database ឈ្មោះថា cm_store។
II បង្កើត file បញ្ចូលកូដឱ្យដំណើរការ
១.បង្កើត file មួយឈ្មោះថា connect.php ដើម្បីភ្ជាប់រវាងគេហទំព័រទៅនឹង Database ឈ្មោះថា cm_store ដែលអ្នកបានបង្កើតរួចនៅក្នុង MySQL។
២.បើក file connect.php បំពេញកូដសម្រាប់ភ្ជាប់ Database (cm_store)។
<?php
//ជា domain name របស់អ្នកដែល host នៅលើ Server។
$dbhost = ‘localhost’;
// Database Usernameសម្រាប់ Log ចូលក្នុង database របស់អ្នក។
$dbusername = ‘root’;
// Database User Passwordជាលេខសម្ងាត់សម្រាប់អ្នក Log ចូល Database។
$dbpassword = ’123′;
$dbpassword = ’123′;
//Database Nameជាឈ្មោះនៃ Databaseដែលអ្នកបានកំណត់យក ។
$dbname = ‘cm_store’;
//mysql_connect functionសម្រាប់ភ្ជាប់ Database របស់អ្នកដែលប្រកាសខាងលើ។
$conn=mysql_connect($dbhost, $dbusername, $dbpassword);if(!$conn) :
//myql_error() សម្រាប់ពិនិត្យមើល error កើតឡើង។
die(‘Could not connect: ‘ . mysql_error());endif;
//ភ្ជាប់ទៅឈ្មោះ Database របស់អ្នក (cm_store)។
$db=mysql_select_db($dbname, $conn);if(!$db) :
die (‘Cant connect to database : ‘ . mysql_error());
endif;
echo “you’re connected”;
?>
-បន្ទាប់ពីបំពេញកូដរួចយើងត្រូវ upload file នេះចូលទៅកាន់ Server បន្ទាប់មកដំណើរការ file នេះយើងទទួលបាន។
៣.បង្កើត file ឈ្មោះថា createtable.php ដើម្បីបំពេញកូដទុកសម្រាប់បង្កើត Table ដូចខាងក្រោម។
<?php
//ភ្ជាប់ទៅកាន់ MySQL
include(‘connect.php’);
//បង្កើត table ក្នុងMySQL ក្នុងdatabaseរបស់អ្នក។
mysql_query(“CREATE TABLE employee (`emp_id` int(11) NOT NULL
auto_increment,`emp_name` text collate utf8_unicode_ci, PRIMARY KEY
(`emp_id`), `emp_address` text) ENGINE=MyISAM DEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci AUTO_INCREMENT=1″) or die(mysql_error());
mysql_query(“CREATE TABLE `info`(`if_id` int(11) NOT NULL auto_increment, `info_message` text
collate utf8_unicode_ci, PRIMARY KEY (`if_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci AUTO_INCREMENT=1″) or die(mysql_error());
?>
-បន្ទាប់មក upload file នេះទៅក្នុង Server របស់អ្នករួចដំណើរការនោះអ្នកទទួលបានលទ្ធផល។
៤.បង្កើត file insert.php សម្រាប់បញ្ចូលនិងទាញទិន្នន័យពី table នៃ database របស់អ្នកដោយមានកូដដូចខាងក្រោម។
<title>Insert Page</title>
<center><h2>Insert Page</h2></center><BR>
<?php
//ភ្ជាកMySQL connection
include(‘connect.php’);
//ដើម្បីពិនិត្យមើលរាល់ពេលប៊ូតុងមានសកម្មភាពឬត្រូវបានចុចដោយ user
if(isset($_POST['submit'])){
$emp_name = $_POST['emp_name'];
$emp_address=$_POST['emp_address'];
//$if_id = $_POST['if_id'];
$info_message=$_POST['info_message'];
//បញ្ចូលទិន្នន័យទៅក្នុង Tableតាម record នីមួយៗ
mysql_query(“INSERT INTO employee (emp_name,emp_address)VALUES (‘$emp_name’,'$emp_address’)”)
or die(mysql_error());
mysql_query(“INSERT INTO info (if_id,info_message)
VALUES (‘$if_id’,'$info_message’)”)
or die(mysql_error());
}else{
?>
<table><tr><td>
<form method=”post” action=”insert.php”>
Name value:
</td><td>
<input name=”emp_name” size=”60″ maxlength=”255″>
</td></tr>
<tr><td>Address:</td><td>
<input name=”emp_address” size=”60″ maxlength=”255″ />
</td></tr>
<tr><td>
Number value:
</td><td>
<input name=”if_id” size=”60″ maxlength=”255″>
</td></tr>
<tr><td>Message :</td><td> <input name=”info_message” size=”60″ maxlength=”255″ />
</td>
</tr>
<tr><td>
<input type=”submit” name=”submit” value=”submit”>
</form>
</td></tr></table>
<?php
}
?>
-រួច upload file នេះទៅកាន់ Server បន្ទាប់មកចាប់ផ្ដើមដំណើរការ file នេះ។
៥.បង្កើត file index.php ដើម្បីដំណើរការក្នុងការបង្ហាញទិន្នន័យនៅលើគេហទំព័រដោយប្រើ inner join clause ដូចខាងក្រោម។
<title>CM Index page</title>
<center><h2>INDEX</h2></center><BR>
<?php
include(‘connect.php’);
echo “ <a href=\”insert.php\”>Insert Data</a><br>”;
//ទាញយកទិន្នន័យពី Table ទាំងពីរដោយប្រើselect * from table។
$result = mysql_query(“SELECT * FROM employee
INNER JOIN info
ON info.if_id = employee.emp_id”)
or die(mysql_error());
while($link=mysql_fetch_array($result)){
//echo ដើម្បីបង្ហាញទិន្នន័យដោយប្រើ $link។
echo $link['if_id'];
echo “~”;
//echo $link['info_message'];
echo $link['emp_name'];
echo ” : “;
echo $link['emp_address'];
echo “<br>”;
}
?>
-បន្ទាប់មក upload file index.php នេះទៅកាន់ Server រួចដំណើរការវានោះអ្នកនឹងទទួលបានលទ្ធផលដូចខាងក្រោម។
-បន្ទាប់ពីដំណើរការបែបនេះរួចអ្នកចុចលើប៊ូតុង Insert Data ដើម្បីបញ្ចូលទិន្នន័យចូលទៅកាន់ Tableទាំងពីរ។
-ចុចប៊ូតុង Submit ដើម្បីបញ្ជូនទិន្នន័យទៅក្នុង Table ទាំងពីរបន្ទាប់មកអ្នកដំណើរការ file index.php ម្ដងទៀតអ្នកនឹងទទួលបានលទ្ធផលនៅលើគេហទំព័រដោយទិន្នន័យនោះគឺ ត្រូវបានទាញចេញពី Table ទាំងពីរដោយប្រើរូបមន្ត inner join clause។
យើងឃើញថា inner join clause នេះមានសារៈសំខាន់ណាស់សម្រាប់អ្នកសិក្សា Programming ឬអ្នកបង្កើតវ៉ិបសាយដើម្បីធ្វើការច្រោះយកទិន្នន័យចេញពី Table មួយឬច្រើនទៅបង្ហាញទៅលើទីតាំងតែមួយជាមួយគ្នាបានយ៉ាងងាយស្រួល ដូចឧទាហរណ៍ខាងលើ៕
ទាញយក Sources Code នៃការអនុវត្តន៍នេះ