|
|
|
ขอสอบถามปัญหาการ Insert ข้อมูล และ Auto Increment ครับ |
|
|
|
|
|
|
|
รูปแบบสคริปท์เป็นหน้าใส่ข้อมูลเพียงบางส่วนครับ (โดยข้อมูลส่วนที่เหลือจะแก้ไขในหน้าของ Member ครับ) พอใส่ข้อมูลตามที่เข้าใจ เกิดข้อผิดพลาดตามนี้ครับ
นี่เป็น โค้ดโปรแกรมครับ
Code (PHP)
<?php include ("connection/dbconn.php") ;
if(isset($_POST['submit'])){
if(validate_from($error)){
process_insert();
}
else{
echo"<font color=\"red\">เกิดข้อผิดพลาด</font><br><br>";
show_form($error);
}
}
else{
show_form(array());
}
$new_id =mysql_result(mysql_query("Select Max(bor_id)+1 as MaxID from bor"),0,"MaxID");//เลือกเอาค่า id ที่มากที่สุดในฐานข้อมูลและบวก 1 เข้าไปด้วยเลย
if($new_id==''){ // ถ้าได้เป็นค่าว่าง หรือ null ก็แสดงว่ายังไม่มีข้อมูลในฐานข้อมูล
$bor_id="001";
}else{
$bor_id=sprintf("%05d",$new_id);//ถ้าไม่ใช่ค่าว่าง
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
.style1{
color:#808000;
font-weight:bold;
}
body {
background-color: #CCC;
background-image: url(pix/12339327_992279087476885_3475781144932680010_o.jpg);
background-position : center top;
background-attachment : fixed;
font-family: "TH SarabunPSK";
}
body p {
font-family: "TH SarabunPSK";
font-size: 24px;
}
#forminsert div table {
font-size: 24px;
}
.from5 {
font-size: 24px;
}
#forminsert h5 font {
font-size: 24px;
}
</style>
<?php
function validate_from(&$error){
$require=array("bor_id"=>"รหัสใบยืม","teacher_id"=>"รหัสครู","dev_id"=>"รหัสอุปกรณ์");
$error=array();
foreach($require as $field => $label) {
if(trim($_POST[$field]=="")){
$error[$field]="คุณไม่ได้ป้อน".$label."<br>";
}
}
if(count($error)>0) {
return false;
}
else
return true;
}
function show_form($error){
?>
<title>แบบฟอร์มการยืมอุปกรณ์</title>
<h2 align="center"><strong><img src="pix/12364155_992761730761954_779929570_o.jpg" alt="" width="980" height="200"></strong></h2>
<div align="center">
<?php ?>
</div>
<form id="forminsert" name="forminsert" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div align="center">
<table width="24%" height="150" border="1" cellpadding="1" cellspacing="1">
<tr>
<td width="47%" class="style1"><div align="right"><strong>รหัสใบยืม<font color="red"> *</font>:</strong></div></td>
<? ?>
<td width="53%"><input name="bor_id" type="text" size="10" maxlength="5" value="<?php echo $bor_id=sprintf("%05d",$new_id)?>"/>
<? ?>
<font color ="red" size ="-1"><strong><? echo $error["bor_id"];?></strong></font></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>รหัสครู <font color="red">*</font>: </strong></div></td>
<td> <input name="teacher_id" type="text" size="10" maxlength="8" value="<?php echo $_POST['teacher_id']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["teacher_id"];?> </strong></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>รหัสอุปกรณ์ <font color="red">*</font>: </strong></div></td>
<td> <input name="dev_id" type="text" size="10" maxlength="5" value="<?php echo $_POST['dev_id']?>"/>
<? ?>
<font color="red" size="-1"><strong><? echo $error["dev_id"];?> </strong></td>
</tr>
<tr>
<td class="style1"><div align="right"><strong>สถานะการอนุมัติ :</strong></div></td>
<?php $status="{$_POST['approve_status']}"?>
<td><select name="status"><? ?>
<option value= "รอการอนุมัติ"<?php if($status=="รอการอนุมัติ")echo "selected"?>>รอการอนุมัติ</option>
</select></td>
</tr>
</table>
</div>
<h5 align="center"><font color="red">* คือฟิลด์ที่ต้องป้อนข้อมูล ห้ามปล่อยว่าง</font></h5>
<div align="center">
<p>
<input name="submit"type="submit"value="Submit"/>
<input name="reset"type="reset" value="Reset"/>
</p>
<p><a href = main_officer.php target="_blank">[กลับสู่หน้าเมนูหลัก]</a></div></form>
<div align="center">
<?php
}
function process_insert(){
$bor_id = trim($_POST['bor_id']);
$teacher_id = trim($_POST['teacher_id']);
$dev_id = trim($_POST['dev_id']);
$status = trim($_POST['status']);
if(($bor_id=="")){
echo"<font color =\"red\">เกิดข้อผิดพลาด : คุณป้อนข้อมูลไม่ครบ</font><br>";
show_form(array());
exit;
}
$bor_id = addslashes($bor_id);
$teacher_id = addslashes($teacher_id);
$dev_id = addslashes($dev_id);
$status = addslashes($status);
$query_book ="insert into bor values('{$bor_id}','{$teacher_id}','{$dev_id}','{$status}')";
$result = mysql_query($query_book)or die(mysql_error());
echo"<center><h3><span class=\"style1\"><FONT SIZE=10>ผลการกรอกแบบฟอร์ม</FONT></span></h3></center>\n";
if($result){
echo"<center><FONT SIZE=6>กรอกแบบฟอร์มยืมอุปกรณ์จำนวน : ".mysql_affected_rows()."รายการ</FONT></center>";
echo "<center><a href=\"show_dev.php\"target=\"_blank\"><FONT SIZE=6>แสดงรายการโสตทัศนอุปกรณ์ทั้งหมด</FONT></a></center><br><br>";
}
else{
echo"<center><font color=\"red\"><FONT SIZE=6>เกิดข้อผิดพลาด</FONT SIZE></font><br></center>";
}
?>
</div>
<p align="center"><a href="<?php echo$_SERVER['PHP_SELF'];?>" class="from5"><FONT SIZE=6>[กลับหน้ากรอกแบบฟอร์มการยืม]</FONT> </a> <a href = main_teacher.php target="_blank"><FONT SIZE=6>[กลับสู่หน้าเมนูหลัก]</FONT></a>
</div>
<div align="center">
<p>
<?php
}
mysql_close($dbconn);
?>
</p>
<p><img src="pix/12371140_992285694142891_1164893728129279885_o.jpg" alt="" width="1014" height="80" /></p>
</div>
</body><html>
นี่คือดาต้าเบสครับ
ขอสอบถามปัญหาและแนวทางการแก้ไข ดังต่อไปนี้ครับ
1.การ Insert ข้อมูล เพียงบางส่วนเป็นไปตามโค้ดด้านบนหรือไม่ หากไม่ใช่ มีแนวทางในการแก้ไขอย่างไรครับ
2 การทำ Auto Increment โดยกำหนดรหัสใบจองเป็น 001 ครับ แต่เหมือนการแสดงผลจะไม่ถูกต้องครับ มีแนวทางในการแก้ไขอย่างไรครับ
ขอบพระคุณมากครับ
Tag : PHP, MySQL, HTML/CSS
|
|
|
|
|
|
Date :
2015-12-13 03:11:39 |
By :
tanut007 |
View :
911 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มัน error แปลว่าจำนวนคอลัมน์ไม่ตรงกับจำนวน value ครับ
อีกอย่าง.... เลิกใช้ mysql_ function ทั้งหลายได้แล้วครับ มีปัญหามาหลายกระทู้แล้ว ลองหาอ่านดูครับ
|
ประวัติการแก้ไข 2015-12-13 09:03:06
|
|
|
|
Date :
2015-12-13 09:02:18 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|