ช่วยดูโค้ดให้ทีครับ เก็บข้อมูลการโพสบทความลงฐานข้อมูล 2 ตารางไม่ได้ครับ
administrator_post.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tour THAI | แหล่งท่องเที่ยวของไทย</title>
<link rel="stylesheet" href="css/constant.css" type="text/css" />
<link rel="stylesheet" href="css/template_admin.css" type="text/css" />
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
</head>
<!-- /////////////////////////////////////////////////////////////// -->
<body>
<?
include("config.inc.php");
$strSQL = "SELECT category FROM category ORDER BY 1";
$objQuery = mysql_query($strSQL) or die(mysql_error());
?>
<div id="wrapper">
<!-- Header -->
<div id="header">header</div>
<!-- /Header -->
<!-- Main Content -->
<div id="main-content">
<div id="sidebar-left"><!-- Sidebar Left -->
<h2>เมนู</h2>
<div class="menu">
<ul>
<li><a href="administrator.php">หน้าหลัก</a></li>
<li><a href="index.php" target="_blank">ชมเว็บไซต์</a></li>
<li><a href="administrator_post.php">โพสบทความ</a></li>
<li><a href="administrator_category.php">เพิ่มหมวดหมู่</a></li>
</ul>
</div>
<!-- /Sidebar Left -->
</div>
<div id="content"><!-- Content -->
<form method="POST" action="check_article.php">
<table>
เรื่อง: <input name="title" type="text" style="width:500px;" /><br />
หมวดหมู่ : <select name="category" style="width:100px;">
<?
while($categoryResult = mysql_fetch_array($objQuery)){
echo "<option value=$categoryResult[category]>$categoryResult[category_article]</option>";
}?>
</select>
เพิ่มหมวดหมู่ใหม่ : <input name="categoryNew" type="text" maxlength="20"/><br />
เนื้อหา:
<textarea id="details" name="details" class="ckeditor"></textarea><br />
แท็ก: <input name="tag" type="text" style="width:500px;" /><br /><br />
<input name="userid" type="hidden" />
<input name="submit" type="submit" value="ตกลง" style="width:80px; height: 30px;"/>
<input name="reset" type="reset" value="เริ่มใหม่" style="width:80px; height: 30px;"/>
</table>
</form>
</div>
<!-- /Content -->
</div><!-- /Main Content -->
<!-- Footer -->
<div id="footer">footer</div>
<!-- /Footer -->
</div><!-- /Wrapper -->
</body>
<!-- /////////////////////////////////////////////////////////////// -->
</html>
check_article
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tour THAI | แหล่งท่องเที่ยวของไทย</title>
</head>
<!-- /////////////////////////////////////////////////////////////// -->
<body>
<?
include("config.inc.php");
$category = $_POST['category'];
$strSQL = "SELECT category_id FROM category WHERE category = $category"; //เรียก category_id
$objQuery = mysql_query($strSQL) or die(mysql_error());
$num_rows = mysql_num_rows($objQuery); //ดึงจำนวนแถวทั้งหมด
$date_post=date('l, j-m-Y, H:i:s A'); // วันเดือนปี เวลาที่โพสบทความ
if(empty($_POST['category']) && empty($_POST['categoryNew'])){ //ถ้าที่หมวดหมู่เดิม และ หมวดหมู่ใหม่ ไม่มีข้อมูล
echo "<SCRIPT>alert('กรุณาระบุข้อมูลให้ครบ');history.back(-1);</script>";
return false;
} elseif($_POST['category'] != null && empty($_POST['categoryNew'])) { //ถ้าใน linklist มีข้อมูล และ หมวดหมู่ใหม่ ไม่มีข้อมูล
//เพิ่มข้อมูลการโพสใหม่ในตาราง article
if($num_rows == 1){ //ถ้ามีแถว = 1
$category_id = mysql_fetch_assoc($objQuery);
$strArticle = "INSERT INTO article (post_id, user_id, category_id, post_title, post_details, post_datetime, tag) VALUE ('NULL', '$_POST['userid']', $category_id['category_id'], '$_POST['title']', '$_POST['details']', '$date_post', '$_POST['tag']')";
$objArticle = mysql_query($strArticle) or die ("ไม่สามารถติดต่อฐานข้อมูลเพื่อเพิ่มข้อมูลการโพสได้");
}
if($objCategory && $objArticle){
echo "บันทึกข้อมูลเรียบร้อย <br> กรุณารอซักครู่ ระบบกำลังพาท่านไปยังหน้าที่ผ่านมา...";
} else {
echo "!!!Error Save [".$strCategory."] <br> [".$strArticle."]";
exit();
}
} elseif(empty($_POST['category']) && $_POST['categoryNew'] != null) { //ถ้าใน linklist ไม่มีข้อมูล และ หมวดหมู่ใหม่มีข้อมูล
$strSQL = "SELECT category FROM article WHERE category='$_POST['category'] ";
$objQuery = mysql_query($strSQL) or die("ติดต่อฐานข้อมูลเพื่อตรวจสอบหมวดหมู่ไม่ได้");
$numrow = mysql_num_rows($objQuery);
if($numrow != 0){ //ตรวจสอบความซ้ำกันของหมวดหมู่
echo "<SCRIPT>alert('\"$_POST['category']\" หมวดหมู่ซ้ำ!');history.back(-1);</script>";
exit();
}
//เพิ่มหมวดหมู่ใหม่ในตาราง category
$strCategory = "INSERT INTO category (category_id, category) VALUE ('NULL', '$_POST['categoryNew']')";
$objCategory = mysql_query($strCategory) or die ("ไม่สามารถติดต่อฐานข้อมูลเพื่อเพิ่มหมวดหมู่ได้");
//เพิ่มข้อมูลการโพสใหม่ในตาราง article
if($num_rows == 1){
$category_id = mysql_fetch_assoc($objQuery);
$strArticle = "INSERT INTO article (post_id, user_id, category_id, post_title, post_details, post_datetime) VALUE ('NULL', '$_POST['userid']', $category_id['category_id'], '$_POST['title']', '$_POST['details']', '$date_post')";
$objArticle = mysql_query($strArticle) or die ("ไม่สามารถติดต่อฐานข้อมูลเพื่อเพิ่มข้อมูลการโพสได้");
}
if($objCategory && $objArticle){
echo "บันทึกข้อมูลเรียบร้อย <br> กรุณารอซักครู่ ระบบกำลังพาท่านไปยังหน้าที่ผ่านมา...";
} else {
echo "!!!Error Save [".$strCategory."] <br> [".$strArticle."]";
exit();
}
}
mysql_close($objConnect);
?>
</body>
<!-- /////////////////////////////////////////////////////////////// -->
</html>
มันขึ้นเออเร่อแบบนี้ครับ
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\AppServ\www\tourthai\check_article.php on line 28
คือตอนโพส ถ้าใส่ข้อมูลตรง "หมวดหมู่ใหม่" ระบบก็จะเพิ่ม "หมวดหมู่ใหม่" ลงในตารางของ category และเก็บ category_id ไว้ในตาราง article
แต่มันติดปัญหาที่ line 28 แก้ไม่หายซะทีเลยครับ รบกวนพี่ๆ ช่วยดูให้ทีครับ ขอบคุณมากๆ ครับ Tag : PHP, MySQL
Date :
2011-08-06 21:19:14
By :
fogza
View :
986
Reply :
3
ลอง
echo $strArticle;
ออกมาดูครับว่าค่าที่ได้ตรงตามที่ต้องการหรือป่าวครับ
Date :
2011-08-06 21:44:23
By :
slurpee55555
มันมีอยู่ 3 เงื่อนไขคือ
Code (PHP)
1. if(empty($_POST['category']) && empty($_POST['categoryNew'])) //ถ้าหมวดหมู่เดิม และ หมวดหมู่ใหม่ ไม่มีข้อมูล
2. elseif($_POST['category'] != null && empty($_POST['categoryNew'])) //ถ้าใน linklist มีข้อมูล และ หมวดหมู่ใหม่ ไม่มีข้อมูล
3. elseif(empty($_POST['category']) && $_POST['categoryNew'] != null) //ถ้าใน linklist ไม่มีข้อมูล และ หมวดหมู่ใหม่มีข้อมูล
แต่ผมลองใส่ข้อมูลใน "หมวดหมู่ใหม่" มันดันเข้าเงื่อนไขที่ 2 ซึ่งจริงๆ มันน่าจะเข้าเงื่อนไขที่ 3
เงื่อนไขที่ 2 ผมเขียนอะไรผิดไปหรอครับ ทำไมมันเข้าเงื่อนไขนี้ครับ
Date :
2011-08-06 22:06:32
By :
fogza
Load balance : Server 03