Database

បញ្ចូល​ទិន្នន័យ​តាម​វិធី​ភ្ជាប់​ការ​ទាក់ទង​រវាង 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′;
//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=utf8
COLLATE=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 នៃ​ការ​អនុវត្តន៍​នេះ