|
 |
|
ทำยังไงหรอครับ ต้องการให้บันทึกข้อมูลลงระบบได้ไม่เกิน 3 ครั้ง |
|
 |
|
|
 |
 |
|
สวัสดีครับ คือผมทำระบบจองนัดประชุม แต่มีกฏว่า 1 คนหรือ 1 User เขาจะสามารถจองได้มากสุดแค่ 3 ครั้งครับ จะใช้วิธีตรวจสอบแบบไหนหรอครับ รบกวนช่วยชี้แนะทีครับ
รูปด้านล่างเป็นฟอร์มสำหรับจองครับ

รูปด้านล่างเป็นฐานข้อมูลครับ สำหรับการจองครับ

code ที่ผมเขียนไว้ครับ
Code (PHP)
<div class="form-three widget-shadow">
<form class="form-horizontal" id="myForm" name="myForm" role="form" action="" method="post" enctype='multipart/form-data' onsubmit="return chk();">
<div class="form-group">
<label for="radio" class="col-sm-5 control-label">รูปแบบ :</label>
<div class="col-sm-5">
<div class="radio-inline"><label><input type="radio" name="title" id="title" value="Meeting" checked="">Meeting</label></div>
<div class="radio-inline"><label><input type="radio" name="title" id="title" value="Working" disabled="">Working</label></div>
</div>
</div>
<div class="form-group">
<label for="radio" class="col-sm-5 control-label">สีข้อความ :</label>
<div class="col-sm-5">
<div class="radio-inline"><label><input type="radio" name="color" id="color" value="#00cc66" checked="">Green</label></div>
<div class="radio-inline"><label><input type="radio" name="color" id="color" value="#0080ff" disabled="">Blue</label></div>
</div>
</div>
<div class="form-group">
<label for="selector1" class="col-sm-5 control-label">ปี/เดือน/วัน :</label>
<div class="col-sm-5">
ปี <select name="year" id="year" class="checkbox-inline" required/>
<option value="<?PHP if(!empty($_POST['year'])){echo $_POST['year'];}?>"><?PHP if(!empty($_POST['year'])){echo $_POST['year'];}?></option>
<option value="2016" >2016</option>
<option value="2017" >2017</option>
<option value="2018" >2018</option>
<option value="2019" >2019</option></select>
เดือน<select name="month" id="month" class="checkbox-inline" required/>
<option value="<?PHP if(!empty($_POST['month'])){echo $_POST['month'];}?>"><?PHP if(!empty($_POST['month'])){echo $_POST['month'];}?></option>
<option value="01" >01</option>
<option value="02" >02</option>
<option value="03" >03</option>
<option value="04" >04</option>
<option value="05" >05</option>
<option value="06" >06</option>
<option value="07" >07</option>
<option value="08" >08</option>
<option value="09" >09</option>
<option value="10" >10</option>
<option value="11" >11</option>
<option value="12" >12</option>
</select>
วัน<select name="day" id="day" class="checkbox-inline" required/>
<option value="<?PHP if(!empty($_POST['day'])){echo $_POST['day'];}?>"><?PHP if(!empty($_POST['day'])){echo $_POST['day'];}?></option>
<option value="01" >01</option>
<option value="02" >02</option>
<option value="03" >03</option>
<option value="04" >04</option>
<option value="05" >05</option>
<option value="06" >06</option>
<option value="07" >07</option>
<option value="08" >08</option>
<option value="09" >09</option>
<option value="10" >10</option>
<option value="11" >11</option>
<option value="12" >12</option>
<option value="13" >13</option>
<option value="14" >14</option>
<option value="15" >15</option>
<option value="16" >16</option>
<option value="17" >17</option>
<option value="18" >18</option>
<option value="19" >19</option>
<option value="20" >20</option>
<option value="21" >21</option>
<option value="22" >22</option>
<option value="23" >23</option>
<option value="24" >24</option>
<option value="25" >25</option>
<option value="26" >26</option>
<option value="27" >27</option>
<option value="28" >28</option>
<option value="29" >29</option>
<option value="30" >30</option>
<option value="31" >31</option>
</select>
</div>
</div>
<div class="form-group">
<label for="selector1" class="col-sm-5 control-label">ช่วงเวลา :</label>
<div class="col-sm-5">
เริ่มต้น <select name="time_start" id="time_start" class="checkbox-inline" required/>
<option value="<?PHP if(!empty($_POST['time_start'])){echo $_POST['time_start'];}?>"><?PHP if(!empty($_POST['time_start'])){echo $_POST['time_start'];}?></option>
<option value="09:00:00" >09:00:00</option>
<option value="09:30:00" >09:30:00</option>
<option value="10:00:00" >10:00:00</option>
<option value="10:30:00" >10:30:00</option>
<option value="11:00:00" >11:00:00</option>
<option value="11:30:00" >11:30:00</option>
<option value="14:00:00" >14:00:00</option>
<option value="14:30:00" >14:30:00</option>
<option value="15:00:00" >15:00:00</option>
<option value="15:30:00" >15:30:00</option>
<option value="16:00:00" >16:00:00</option>
<option value="16:30:00" >16:30:00</option>
</select>
สิ้นสุด<select name="time_end" id="time_end" class="checkbox-inline" required/>
<option value="<?PHP if(!empty($_POST['time_end'])){echo $_POST['time_end'];}?>"><?PHP if(!empty($_POST['time_end'])){echo $_POST['time_end'];}?></option>
<option value="09:30:00" >09:30:00</option>
<option value="10:00:00" >10:00:00</option>
<option value="10:30:00" >10:30:00</option>
<option value="11:00:00" >11:00:00</option>
<option value="11:30:00" >11:30:00</option>
<option value="12:00:00" >12:00:00</option>
<option value="14:30:00" >14:30:00</option>
<option value="15:00:00" >15:00:00</option>
<option value="15:30:00" >15:30:00</option>
<option value="16:00:00" >16:00:00</option>
<option value="16:30:00" >16:30:00</option>
<option value="17:00:00" >17:00:00</option>
</select>
</div>
</div>
<div class="form-group">
<label for="radio" class="col-sm-5 control-label">อีเมล :</label>
<div class="col-sm-3">
<input type="text" name="Email" id="Email" class="form-control" value="<?php echo $_SESSION["Email"];?>" readonly></div>
</div>
<center><button type="submit" name="btnSubmit" class="btn btn-default">บันทึกข้อมูล</button> <button type="cancel" onclick="window.location.replace('clndr.php')" class="btn btn-default">ยกเลิก</button></center>
</div>
<div class="clearfix"> </div>
</div>
</form>
<?php
if(isset($_POST['btnSubmit']))
{
$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database");
$objDB = mysql_select_db("decc");
mysql_query("SET NAMES utf8", $objConnect);
$strSQL = "SELECT * FROM calendar WHERE ((year = '".trim($_POST['year'])."' and month = '".trim($_POST['month'])."'
and day = '".trim($_POST['day'])."') and (time_start = '".trim($_POST['time_start'])."' and time_end = '".trim($_POST['time_end'])."'))" ;
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo"<script language=\"JavaScript\">
alert('ช่วงเวลาซ้ำกัน กรุณาเลือกช่วงเวลาใหม่.');window.location='clndr.php';
</script>";
exit();
}
$strSQL = "INSERT INTO calendar (title,color,year,month,day,time_start,time_end,Email) VALUES ('".$_POST["title"]."','".$_POST["color"]."','".$_POST["year"]."','".$_POST["month"]."',
'".$_POST["day"]."','".$_POST["time_start"]."','".$_POST["time_end"]."','".$_POST["Email"]."')";
$objQuery = mysql_query($strSQL);
echo"<script language=\"JavaScript\">
alert('จองเสร็จเรียบร้อย');window.location='clndr.php';
</script>";
}
?>
Tag : PHP

|
|
 |
 |
 |
 |
Date :
2016-09-28 14:11:23 |
By :
damnern007 |
View :
1056 |
Reply :
6 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
3 ครั้ง ต่อวัน ต่อเดือน ต่อปี ... เอาจากเงื่อนไขนี้ก่อน
|
 |
 |
 |
 |
Date :
2016-09-28 14:39:22 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คุณ Mr. กล้า 3 ครั้งเท่านั้นเลยครับ ไม่แบ่งแยกตามเดือนหรือปีเลยครับ จองได้ไม่เกิน 3 ครั้งครับ
|
 |
 |
 |
 |
Date :
2016-09-28 14:59:22 |
By :
damnern007 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งั้นในตารางเก็บข้อมูลการจอง ก็นับจำนวน user ที่ทำการจอง ถ้าเท่ากับ 3 ก็ไม่ให้จอง ที่นี้ก็ต้องมาดูว่าในตารางฟิลด์ไหนที่เป็นตัวกำหนด user นั้นๆ
|
 |
 |
 |
 |
Date :
2016-09-28 16:06:01 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมว่าจะใช้ Email ครับ เพราะจะไม่ซ้ำกันครับ คุณ Mr.กล้า
|
 |
 |
 |
 |
Date :
2016-09-28 16:35:25 |
By :
damnern007 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าก่อนจองมีต้องผ่านระบบ Login ก่อน ใช้ id ของ user นั้นๆ จะง่ายกว่าครับ ถ้าไม่ผ่านการล็อกอินปล่อยให้จองตรงๆ โอกาสเปลี่ยน email ในการจองก็ทำได้ก็จองเกิน 3 ครั้งได้....
หรือถ้ามองอีกแบบในตาราง username/password เพิ่มฟิลด์อีกสักตัวเพิ่มสิทธิ์ของการจอง กำหนดให้เป็น 3 พอหลังจากจองเสร็จ ก็เอาค่าการจองมาตัดสิทธิ์ใให้เหลือ 2 ครั้ง
ลองไล่ลำดับ เขียนเป็นขั้นตอน เดี๋ยว code ก็ตามมาครับ
|
ประวัติการแก้ไข 2016-09-28 22:35:29
 |
 |
 |
 |
Date :
2016-09-28 21:51:17 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
insert into tablename (fld1, fld2, fld3)
select $forfld1, $forfld2, $forfld3 from tablename
where email='[email protected]' and count(*)<3
if(affected_rows>0) insert_ได้ else insert_ไม่ได้
|
 |
 |
 |
 |
Date :
2016-09-29 02:23:52 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|

|
Load balance : Server 04
|