อยากทราบเรื่องการเก็บค่า ของ checkbox ลง ฐานข้อมูล โดยที่ สมมติว่า ถ้าไม่ติ๊ก ค่าจะเป็น 0 หากติ๊กจะเป็น 1
ตอนรับค่า input checkbox จาก form ก็ใช้ if เช็คเอาสิครับว่าถ้า input_name = "value"ที่ระบุใน form ให้ถือเป็น 1 นอกนั้นให้มีค่าเป็น 0
ตอนบันทึกลงฐานข้อมูลก็บันทึกลงไปตาม if
ตอนแสดงผลหรือไม่แสดงก็ใช้ if เหมือนกัน
ไม่ยากนี่?
Date :
2011-05-30 10:46:47
By :
mr.v
กำหนด value ให้มันครับ
เช่น <input name="checkbox" type="checkbox" id="checkbox" value="1" >
แค่นี้ครับแล้วก็ส่งค่ไปปกติ แต่อย่าลืม ใน DB กำหนดค่า Default ให้เป็น 0 ไว้ก่อนครับ
Date :
2011-05-30 10:50:50
By :
slurpee55555
ขอบคุณมากนะค่ะ รบกวนดูโค้ดให้หน่อยค่ะ
อันนี้ไฟล์ add_event.php
Code (PHP)
<form action="add_event2.php" method="post" enctype="multipart/form-data">
<table width="775" border="0" align="center">
<tr>
<td align="left" valign="top">
<div id="mainadd">
<div id="add"><img src="images/add.png" width="24" height="24" align="absmiddle" /> เพิ่มกิจกรรม</div>
<br />
<table width="620" align="center" cellpadding="2" cellspacing="2">
<tr>
<td width="77%" align="left" valign="top"><table width="106%" cellpadding="2" cellspacing="2">
<tr>
<td width="24%">ชื่อกิจกรรม ::</td>
<td width="76%"><input type="text" name="name_ev" id="name_ev" /></td>
</tr>
<tr>
<td>รายละเอียด ::</td>
<td> </td>
</tr>
<tr>
<td colspan="2"><textarea name="detail" cols="70" id="detail" class="ckeditor"></textarea></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td>ใส่รูปอื่นๆ ::</td>
<td> </td>
</tr>
<tr align="left" valign="middle">
<td colspan="2">
<label>
<input name="pic1" type="file" id="pic1" size="70" />
</label></td>
</tr>
<tr align="left" valign="middle">
<td colspan="2">
<input name="pic2" type="file" id="pic2" size="70" /></td>
</tr>
<tr align="left" valign="middle">
<td colspan="2">
<input name="pic3" type="file" id="pic3" size="70" /></td>
</tr>
<tr align="left" valign="middle">
<td colspan="2">
<input name="pic4" type="file" id="pic4" size="70" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2">
<input name="status" type="checkbox" id="status" value="แสดง/ซ่อน" />
แสดง/ซ่อน</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2"><div id="buttom"><input type="submit" name="button5" id="button5" value="บันทึก" />
<input type="reset" name="button6" id="button6" value="ยกเลิก" />
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</form>
อันนี้ไฟล์ add_event2.php
Code (PHP)
<?
session_start();
if ($_SESSION[sess_userid]<>session_id()){
header("Location : index.php"); exit();
}
$name_ev=$_POST['name_ev'];
$detail=$_POST['detail'];
$pic1=$_FILES['pic1']['tmp_name'];
$pic1_name=$_FILES['pic1']['name'];
$pic1_size=$_FILES['pic1']['size'];
$pic1_type=$_FILES['pic1']['type'];
$pic2=$_FILES['pic2']['tmp_name'];
$pic2_name=$_FILES['pic2']['name'];
$pic2_size=$_FILES['pic2']['size'];
$pic2_type=$_FILES['pic2']['type'];
$pic3=$_FILES['pic3']['tmp_name'];
$pic3_name=$_FILES['pic3']['name'];
$pic3_size=$_FILES['pic3']['size'];
$pic3_type=$_FILES['pic3']['type'];
$pic4=$_FILES['pic4']['tmp_name'];
$pic4_name=$_FILES['pic4']['name'];
$pic4_size=$_FILES['pic4']['size'];
$pic4_type=$_FILES['pic4']['type'];
$date_today=date("Y-m-d");
if($name_ev="" or $detail=""){
echo "<h2> กรอกข้อมูลไม่ครบ </h2>";
exit();
}
if($_POST["status_ev"] != "")
{
$status_ev=show;
}
else
{
$status_ev=hidden;
}
?>
<?
include "config.php";
$sql = "select * from member order by id desc" ;
$result = mysql_query($sql) ;
$num_result = mysql_num_rows($result) ;
$dbarr = mysql_fetch_row($result) ;
$tb_event_db = $dbarr[0]+1 ; // นำค่า id มาเพิ่มให้กับค่ารหัสสมาชิกครั้งละ1
if($tb_event_db>=100) {
$tb_event_in = "0$tb_event_db" ;
}
else {
if($member_db >=10) {
$tb_event_in = "00$tb_event_db" ;
}
else {
$tb_event_in = "000$tb_event_db" ;
}
}
$id_ev = $yourcode.$tb_event_in; // รหัสสมาชิกเช่น ip0001
$result = mysql_query("insert into tb_event (id_ev,name_ev,detail,status_ev,date)values('$id_ev','$name_ev','$detail','','','','','$status_ev','$date_today')");
$ext = strtolower(end(explode('.', $pic1_name)));
if($ext == "jpg" or $ext == "jpeg" or $ext == "png" or $ext == "gif")
{
$sql = "select max (id_ev) form tb_event";
$result = mysql_db_query($dbname,$sql);
$r=mysql_fetch_array($result);
$id_max=$r[0];
$filename=$id_max.".".$ext;
copy($photo,"photo/$filename");
$sql="update tb_event set pic1='filename' where id_ev='$id_max'";
mysql_db_query($dbname,$sql);
}
//
if($result) {
echo "<center><font size=\"3\" face='MS Sans Serif'><b>บันทึกข้อมูลกิจกรรมเรียบร้อย</b></font></center>";
echo "<meta http-equiv='refresh' content='2; url='event.php'>" ;
}
else{echo"บันทึกข้อมูลลงฐานข้อมูลไม่สำเร็จ";}
?>
คือตอนนี้มานแอดข้อมูลไม่ลงฐานข้อมูล ม่ายรุว่าเป็นเพราะอะไร ช่วยดูหน่อยค่ะ
Date :
2011-05-30 11:38:24
By :
badtzyui
Code (PHP)
$status_ev=show;
$status_ev=hidden;
พวกนี้คืออะไร ถ้าตัวแปรที่เป็น string ก็ควรเขียนให้ถูกต้อง
$status = "show"; ไม่ใช่ show เฉยๆโดยไม่มี "
ที่มัน insert ไม่ลงนี่ไม่ลงเลยหรือไม่ลงแค่ข้อมูลบางส่วน เพราะผมดูแล้วน่าจะมีลงได้อยู่บ้าง
ภายในmysql_query ตรง insert ที่เขียนร่วมกับตัวแปร ตรงที่เก็บข้อมูลแบบ varchar/text ควรเขียนแบบนี้ถ้ามันเปิดด้วย "
'".$name_ev."'
เพราะถ้ามันคลุมคำสั่ง ด้วย " double quote เวลามี '$string' บาง server มันจะไม่รับค่ามา กลายเป็นค่าว่างๆ ดังนั้นต้องปิด" ก่อนตามตย.
Date :
2011-05-30 15:55:38
By :
mr.v
Load balance : Server 04