วันเสาร์ที่ 6 ธันวาคม พ.ศ. 2557

กรณีศึกษาระบบเว็บบอร์ด (WebBoard System)

9. กรณีศึกษาระบบเว็บบอร์ด (WebBoard System)
- วางแผน แบบไม่มีระบบ Admin
- สร้างฐานข้อมูล และตาราง ที่ออกแบบมาสำหรับเก็บข้อมูล
- เขียนฟอร์มรับข้อมูล และโปรแกรมนำข้อมูลไปเก็บในฐานข้อมูล
- โปรแกรมนี้ยังไม่ยอมให้ผู้ใช้เข้ามาแสดงความคิดเห็น

ex.901

boardf.htm
ฟอร์มรับความคิดเห็น
<body>
<form action=boardi.php method=post>
Subject : <input name=subj><br>
Writer : <input name=writer><br>
Message : <textarea cols=20 rows=5 name=msg>
</textarea><br>
<input type=submit>
</form>
<br><a href=boards.php>boards.php</a>
ตัวอย่างผลลัพธ์ หรืออธิบาย
Subject :
Writer :
Message :

ex.902

connect.php
ส่วนเชื่อมต่อฐานข้อมูล
<?
$db = "wboard";
$tb = "webboard";
$host = "127.0.0.1:3306";
$uname = "admin"; // root
$passwd = "p";
if (!$connect=mysql_connect($host,$uname,$passwd)){
 echo 'Could not connect to mysql';
 exit;
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
# เชื่อมต่อฐานข้อมูล
# ช่วยให้โปรแกรมอื่นมีขนาดสั้นลง

ex.903

crtdb.php
สร้างฐานข้อมูล
<?
require("connect.php");
$s = "create database $db";
if (!$result=mysql_query($s,$connect))
  echo "$s : error<br>";
else {
  echo "$s : ok<br>";
  $s="create table $tb (";
  $s.="wid int primary key not null auto_increment,";
  $s.="subj char(40),writer char(40),";
  $s.="msg char(100))";
  if (!$result=mysql_db_query($db,$s))
    echo "$s : error<br>";
  else
    echo "$s : ok<br>";
}
mysql_close($connect);
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
# สร้างฐานข้อมูลชื่อ wboard
# สร้างฐานข้อมูลชื่อ webboard

ex.904

boardi.php
เพิ่มความคิดเห็นใหม่
<?
require("connect.php");
if (isset($_POST["subj"]) && isset($_POST["writer"])){
  $sql="insert into $tb values('',";
  $sql.="'".$_POST["subj"]."',";
  $sql.="'".$_POST["writer"]."',";
  $sql.="'".$_POST["msg"]."')";
  if (!$result=mysql_db_query($db,$sql))
    echo "$sql : error<br>";
  else {
    echo "$sql : ok<br>";
  }
}
mysql_close($connect);
?>
<br><a href=boardf.htm>boardf.htm </a>
<br><a href=boards.php>boards.php</a>
ตัวอย่างผลลัพธ์ หรืออธิบาย
# รับข้อมูลจากฟอร์มใน boardf.htm
# เพิ่มข้อมูลสมาชิกในตาราง

ex.905

boards.php
แสดงข้อมูล
<?
require("connect.php");
echo "<ul>Webboard : <ol>";
$query="select * from $tb order by wid desc";
if($result = mysql_db_query($db,$query)) {
  while ($object = mysql_fetch_object($result)) {
    echo "<li>" . $object->wid . " : ";
    echo $object->subj . " : " . $object->writer;
    echo "<pre>" . $object->msg . "</pre>";
  }
  echo "</ol>Total records:".mysql_num_rows($result);
  echo "</ul>";
}
mysql_close($connect);
?>
<br><a href=boardf.htm>boardf.htm </a>
ตัวอย่างผลลัพธ์ หรืออธิบาย
# แสดงข้อมูลใน Webboard