បង្កើតកម្មវិធីហោរាសាស្ត្រខ្មែរដាក់លើគេហទំព័រដោយប្រើXML&PHP

នេះគឺជាគន្លឹះថ្មីមួយទៀតសម្រាប់អ្នកតាមដានសិក្សាភាសា Programming ដើម្បីបង្កើតគេហទំព័រស្របទៅតាមគោលបំណងក្នុងការដាក់ឱ្យមានភាពទាក់ទាញពីអ្នកទស្សនា។គោលបំណងសំខាន់នៅពេលនេះគឺយើងខ្ញុំចង់ឱ្យអ្នកអានក៏ដូចអ្នកកំពុងសិក្សាភាសា Programming XML & PHP ឱ្យចេះពីវិធីសាស្ត្រភ្ជាប់គ្នារវាងកម្មវិធីទាំងពីរនេះដើម្បីបង្កើតបានជាសភាពមួយដាក់នៅលើគេហទំព័ររបស់អ្នកប្រកបដោយភាពទាក់ទាញនិងងាយស្រួលក្នុងការបង្កើត។តើយើងត្រូវភ្ជាប់វាយ៉ាងដូចម្ដេច?ហើយមានសារៈសំខាន់អ្វីខ្លះ?ដូច្នេះដើម្បីឱ្យជ្រាបច្បាស់សូមមើលពីរបៀបបង្កើតតួនាទីនិងរបស់ភ្ជាប់រវាងកម្មវិធីពីរតាមជំហាននីមួយៗដូចខាងក្រោម។
I) បង្កើតឈ្មោះ file ទៅតាមវត្ថុបំណង
១-ជាដំបូងអ្នកត្រូវបង្កើតឈ្មោះ Databaseឈ្មោះថា CM_store និងតារាងឬ table មួយសម្រាប់រក្សាទិន្នន័យនៅក្នុង MySQL។
២-បង្កើត file មួយសម្រាប់បញ្ចូលនិងលុបទិន្នន័យឈ្មោះថា insert.php។
៣-បង្កើត file getdata.php សម្រាប់ទាញទិន្នន័យមកបង្ហាញនៅពេលអ្នកទស្សនាមានសកម្មភាពលើកម្មវិធី។
៤-បង្កើត file index.php សម្រាប់បង្ហាញព័ត៌មានដល់អ្នកទស្សនាដើម្បីធ្វើការជ្រើសរើសនូវវត្ថុបំណងរបស់ខ្លួន។
៥-បង្កើត file សម្រាប់កែប្រែទិន្នន័យដោយដាក់ឈ្មោះថា update.php។
៦-បង្កើត folder ឈ្មោះថា images សម្រាប់រក្សារូបភាពដែលយើងបាន upload បញ្ចូល។
II) ចាប់ផ្ដើមដំណើរការកូដលើទំព័រនីមួយៗ
១)ដំណើរការកម្មវិធី MySQL សម្រាប់រក្សាទិន្នន័យដោយបង្កើត table មួយឈ្មោះថា datastoreនៅក្នុងDatabase CM_store មានដូចរូបខាងក្រោម។

២)បើក file insert.php បញ្ចូលកូដ PHP សម្រាប់បញ្ចូលនិងលុបព័ត៌មានផ្សេងៗចូលក្នុង database និងtable ខាងលើ។“
<html>
<script language=“javascript“>
function delete_file(){
document.myform.cmddelete.click()
}
</script>
<?php
mysql_connect(‘localhost‘,‘root‘,‘123‘);
//ភ្ជាប់កាន់ Database ឈ្មោះថា CM_store។
mysql_select_db(‘CM_store‘);
//កំណត់លក្ខខណ្ឌមុនពេលបញ្ចូលទិន្នន័យប្រសិនបើមិនទាន់មាន table យើងនិងចាប់ផ្ដើមបង្កើត table ។
if(isset($_POST[‘cmdupload‘])==‘Upload‘){
mysql_query(‘CREATE TABLE user_info(us_id integer(10) default NULL auto_increment primary key,name varchar(50),img_file longblob,us_desc text)‘);
//បញ្ចូលរូបភាពទៅ folder ហើយទិន្នន័យចូលក្នុង table ឈ្មោះថា use_info។
$uploaddir = ‘images/‘;
$uploadfile = $uploaddir. $_FILES[‘userfile‘][‘name‘];
if (move_uploaded_file($_FILES[‘userfile‘][‘tmp_name‘], $uploadfile)) {
mysql_query(‘INSERT INTO user_info(name,img_file,us_desc) VALUES(‘.‘‘”.$_POST[‘us_name‘].”‘,‘”.$_FILES[‘userfile‘][‘name‘].”‘,‘”.$_POST[‘us_desc‘].”‘”.”)”);
}
}
if(isset($_POST[‘cmddelete‘])==”delete”){
if( mysql_query(“delete from user_info where us_id=”.”‘”.$_POST[‘us_id‘].”‘”)){
if(File_Exists(“images/”.$_POST[‘img_name‘])){
unlink(“images/”.$_POST[‘img_name‘]);
}
}
}
?>
<form enctype=”multipart/form-data” method=”POST” name=”myform”>
//ទាញទិន្នន័យមកបង្ហាញលើគេហទំព័រពេលយើងបញ្ចូលក្នុង table រួច។
<?
$rsimg=mysql_query(“SELECT * FROM user_info”);
if($rowimg=mysql_fetch_array($rsimg)){
while($rowimg=mysql_fetch_array($rsimg)){
?>
<table border=0 cellpadding=0 cellspacing=0 width=”400″>
<tr>
<td align=”justify”><img src=”images/<?=$rowimg[‘img_file‘]?>” width=”100″ height=”130″ align=”left”> ♦ <?=$rowimg[‘us_desc‘]?><br><a href=”update.php?us_id=<?=$rowimg[‘us_id‘]?>&img=<?=$rowimg[‘img_file‘]; ?>” target=”_blank”> Edit</a> ||
<a href=”javascript:delete_file()” onMouseOver=”document.myform.st_id.value=‘<?=$rowimg[‘us_id‘]?>‘,document.myform.img_name.value=‘<?=$rowimg[‘img_file‘]?>‘”>Delete</a></td></tr>
</table>
<?
}
}
?>
<input type=”file” name=”userfile” size=”35″><br>
<input type=”text” name=”us_name” size=”35″><br>
<textarea rows=”7″ cols=”50″ name=”us_desc”></textarea>
<input type=submit value=”Upload” name=cmdupload>
<input type=”submit” name=”cmddelete” value=”delete” style=”width:1px;height:1px;visibility:hidden”>
<input type=hidden name=”us_id”>
<input type=hidden name=”img_name”>
</form>
</html>
កូដខាងលើនេះមានលំនាំស្រដៀងក្នុងសៀវភៅលេខ៩៣បោះពុម្ពនៅថ្ងៃទី០១ខែកក្កដាឆ្នាំ២០១១។
៣)បើក file getdata.php ដើម្បីបំពេញកូដសម្រាប់ចាប់តម្លៃបោះឱ្យគេហទំព័រ index.php ដើម្បីព័ត៌មានដល់អ្នកប្រើ។
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<?php
//បោះតម្លៃបន្តឱ្យគេហទំព័រ index.php តាមរយៈ id ដោយកំណត់យក us_id។
$us_id=$_GET["us_id"];
$con = mysql_connect(‘localhost‘,‘root‘,‘123‘);
if (!$con){
die(‘Could not connect: ‘ . mysql_error());
}
//mysql_select_db(“ajax_demo”, $con);ភ្ជាប់ទៅកាន់Database ។
mysql_select_db(“cm_store”, $con);
$sql=”SELECT * FROM user_info WHERE us_id = ‘”.$us_id.”‘”;
$result = mysql_query($sql);
//បង្កើតតារាងឬ Table សម្រាប់បង្ហាញទិន្នន័យនៅពេលuser បានជ្រើសរើសយកជម្រើសណាមួយ។
echo “ជោគជតារាសីរបស់លោកអ្នកថ្ងៃនេះមានដូចតទៅ!”;
echo “<table border=‘1‘ cellpadding=0 cellspacing=0 height=‘150‘ width=‘40%‘>”;
echo “<tr>”;
echo (“<td>”.$row[‘name‘].”</td>”);
echo “</tr>”;
//echo “</table”;
while($row = mysql_fetch_array($result))
{
echo “<tr>”;
echo “<td><img src=images/” . $row[‘img_file‘] . ” align=‘left‘ height=‘200‘>
<u>♦ចំពោះលោកអ្នកកើតឆ្នាំ៖ ”".$row[‘name‘].”"</u><br>” . $row[‘us_desc‘] . “</td>”;
echo “</tr>”;
}
echo (“</table>”);
mysql_close($con);
?>
៤)បើក file index.php សម្រាប់បង្ហាញទិន្នន័យពី Database នៅពេល user បានជ្រើសរើសយកឆ្នាំដែលគេបានកើតចេញពី Selection box។
<html>
<head>
//កំណត់ឱ្យអាចដាក់អក្សរខ្មែរយូនីកូដដើរលើគេហទំព័រដោយប្រើ charset=utf-8។
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<script type=”text/javascript”>
//បង្កើត function showUser() ដោយមានអញ្ញាត str សម្រាប់ពិនិត្យមើលលក្ខណនៃទិន្នន័យថាមានឬមិនមាន។
function showUser(str)
{
if (str==”") {
//getElementByIdសម្រាប់បង្កើតid ឈ្មោះថាtxtHint ហើយ innerHTMLសម្រាប់បោះទិន្នន័យទៅលើគេហទំព័រដែលវាឈរនៅ។
document.getElementById(“txtHint”).innerHTML=”";
return;
}
if (window.XMLHttpRequest) {// កូដសម្រាប់ដំណើរការ IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else {
// សម្រាប់ IE6, IE5
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
//សម្រាប់ Web browser ដែលអ្នកកំពុងតែឈរនៅដើម្បីទទួលយកទិន្នន័យពីគេហទំព័រ getdata.phpតាមរយៈ id។
xmlhttp.open(“GET”,”getdata.php?us_id=”+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
♥ហោរាសាស្រ្តប្រចាំថ្ងៃ៖
<form>
<select name=”students” onChange=”showUser(this.value)”>
<option value=”students”>ជ្រើសរើសឆ្នាំដែលអ្នកបានកើតទីនេះ</option>
<option value=”1″>-ឆ្នាំជួត-</option>
<option value=”2″>-ឆ្នាំឆ្លូវ-</option>
<option value=”3″>-ឆ្នំខាល-</option>
<option value=”4″>-ឆ្នាំថោះ-</option>
<option value=”5″>-ឆ្នាំរោង-</option>
<option value=”6″>-ឆ្នាំម្សាញ់-</option>
<option value=”7″>-ឆ្នាំមមី-</option>
<option value=”8″>-ឆ្នាំមមែ-</option>
<option value=”9″>-ឆ្នាំវក-</option>
<option value=”10″>-ឆ្នាំរកា-</option>
<option value=”11″>-ឆ្នាំច-</option>
<option value=”12″>-ឆ្នាំកុរ-</option>
</select>
</form>
<br />
<div id=”txtHint”><b>លទ្ធផលនិងបង្ហាញនៅទីនេះ</b></div>
</body>
</html>
៥)បើក file update.php សម្រាប់ធ្វើការកែប្រែទិន្នន័យដែលអ្នកចង់ធ្វើការកែប្រែក្រោយពីបានបញ្ចូលរួច។
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>update</title>
</head> <body>
<?php
mysql_connect(“localhost”,”root”,”123″);
mysql_select_db(“CM_store”);
//ទទួលទិន្នន័យឬតម្លៃក្រោយពេលអ្នកចុចលើប៊ូតុង Edit។
$us_id=$_GET[‘us_id‘];
//ទាញទិន្នន័យមកដាក់លើប្រអប់ដែលយើងចង់ធ្វើការកែប្រើ។
$rsing=mysql_query(“select * from user_info where us_id=‘”.$us_id.”‘”);
?>
<form name=”myform” enctype=”multipart/form-data” method=”post”>
<table>
<?php while($row=mysql_fetch_array($rsing)){ ?>
<tr><td><input type=”file” name=”userfile” size=”35″></td></tr>
<tr><td><input type=”text” name=”us_name” size=”35″ value=”<?=$row[‘name‘];?>”>Year‘s name
<tr><td><textarea rows=”7″ cols=”50″ name=”us_desc”><?=$row[‘us_desc‘]?></textarea></td></tr>
<tr><td><input type=submit value=”update” name=cmdupdate></td></tr>
<tr><td><input type=hidden name=”us_id”></td></tr>
<tr><td><input type=hidden name=”img_name”></td></tr>
<?php }?>
</table>
</form>
//ប្ដូរទិន្នន័យនៅពេលយើងបានចុចលើប៊ូតុងឈ្មោះថា update។
<?php
if(isset($_POST[‘img_name‘]))
{
$us_desc=$_POST[‘us_desc‘];
$us_name=$_POST[‘us_name‘];
mysql_query(“UPDATE user_info SET name=‘”.$us_name.”‘, us_desc=‘”.$us_desc.”‘ WHERE us_id=‘”.$us_id.”‘”);
$uploaddir = ‘images/‘;
$uploadfile = $uploaddir. $_FILES[‘userfile‘][‘name‘];
if (move_uploaded_file($_FILES[‘userfile‘][‘tmp_name‘], $uploadfile)) {
//unlink image we‘re uploaded
unlink($uploaddir.$_GET[‘img‘]);
mysql_query(“update user_info SET img_file=‘”.$_FILES[‘userfile‘][‘name‘].‘‘ where us_id= ‘‘.$us_id.‘‘‘);
}
}
?>
</body>
-ក្រោយពីយើងបានបំពេញកូដដូចខាងលើរួមយើងត្រូវ upload file & folder ទាំងអស់ចូលទៅ Server ដើម្បីដំណើរការ។
III)ដំណើរការ file បានបង្កើតខាងលើ
-វាយពាក្យ៖ http://localhost/phpMyAdmin/backup/index.phpអ្នកនិងទទួលបានដូចខាងក្រោម៖

-ចុចលើប្រអប់ Selectionដើម្បីជ្រើសរើសយកឆ្នាំអ្នកបានកើតដើម្បីមើលជតារាសី។

-បន្ទាប់មកអ្នកទទួលបានលទ្ថផលដូចខាងក្រោម។

-កម្មវិធីខាងលើនេះសម្រាប់អ្នកយកទៅប្រើប្រាស់ដើម្បីបង្ហាញដល់អ្នកទស្សនាអាចមើលពីរាសីរបស់គេបាននៅលើគេហទំព័ររបស់អ្នកបានហើយអ្នកសិក្សាក៏អាចអនុវត្តតាមបានយ៉ាងងាយ។

















