|
|
|
checkbox บันทึกค่า true / false ไม่ได้ครับต้องแก้ไขยังไงครับ |
|
|
|
|
|
|
|
<?
if(isset($_POST[rename]))
{
$rename ="checked";
}
else
{
$rename ="";
}
?>
<input type="checkbox" name="rename" id="rename" <?=$rename?> >
ไม่แน่ใจว่าใช่อย่างที่ต้องการหรือเปล่า
แต่การที่จะทำให้ checkbox นั้นติ๊กนั้นใช้ checked ครับผม
|
ประวัติการแก้ไข 2013-03-06 22:33:36 2013-03-06 22:40:58 2013-03-06 23:01:41
|
|
|
|
Date :
2013-03-06 22:32:18 |
By :
farlalook |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ ถ้า ติ้ก ถูก ให้ส่ง true ลงฐานข้อมูล
ถ้าไม่ติ้ก ให่ส่ง false ลงฐานข้อมูลครับ
คิดไว้ประมาณนี้อะครับ กำลังหาทางแก้อยู่เลยครับ
Code (PHP)
<?php
if(isset($_POST['rename']) )
{
if($rename = "checked")
{
$rename .="true";
}
}
else{
$rename .="false";
}
?>
<input type="checkbox" name="rename" id="rename" value="$rename">
และหลังจากบันทึกแล้วเรียบร้อย ก็อยากให้ checkbox แสดง เลือก/ไม่เลือก ตามฐานข้อมูลเลยน่ะครับ
|
ประวัติการแก้ไข 2013-03-06 22:38:58 2013-03-06 22:39:08 2013-03-06 22:39:16 2013-03-06 22:39:24 2013-03-06 22:39:33 2013-03-06 22:39:41 2013-03-06 22:39:49 2013-03-06 22:39:58 2013-03-06 22:40:05 2013-03-06 22:40:13 2013-03-06 22:43:53
|
|
|
|
Date :
2013-03-06 22:38:03 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอน insert ลง Database
<form name="main" action="<? echo $PHP_SELF;?>" method="post">
<input type="checkbox" name="rename" id="rename">
<input type="submit" name="submitBtn" id="submitBtn">
<?
if($_POST[rename])
{
echo "insert ture to database";
}
else
{
echo "insert false to database";
}
?>
</form>
|
ประวัติการแก้ไข 2013-03-06 22:50:54 2013-03-06 22:51:45
|
|
|
|
Date :
2013-03-06 22:50:27 |
By :
farlalook |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เหลือแต่ตอนลง db ครับ ข้อมูลยังไม่ขึ้นอะครับ
แบบนี้ถูกรึเปล่าครับ (ตัดข้อมูลอื่นๆ ออกครับ)
Code (PHP)
$strSQL = "INSERT INTO ob ";
$strSQL .="(rename) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["rename"]."', ) ";
$objQuery = mysql_query($strSQL);
echo $strSQL;
|
ประวัติการแก้ไข 2013-03-06 23:07:02
|
|
|
|
Date :
2013-03-06 23:06:02 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะให้ checkbox ถูกเลือกตั้งแต่แรกหรือไม่นั้น
ใช้ atrribute checked ครับ
โดย checked มีค่าได้แค่แบบเดียวคือ "checked"
<input type="checkbox" name="rename" /> แบบนี้คือแบบปกติ ไม่ถูกเช็ค
<input type="checkbox" name="rename" checked="checked" /> แบบนี้จะถูกเช็คแต่แรก
Code (PHP)
<input type="checkbox" name="rename" id="rename" <?php if (isset($_POST['rename'])) { echo 'checked="checked"'; } ?>>
|
|
|
|
|
Date :
2013-03-06 23:06:10 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันไม่เข้าก็ไม่แปลกครับ
เพราะใน No.2
คุณกำหนดค่า $rename
แต่ตอน INSERT คุณใช้ค่าของ $_POST["rename"]
และเราใช้ $_POST["rename"] ไม่ได้ครับ เพราะมันจะไม่ได้มีตลอด
หาก checkbox ไม่ถูกเช็ค $_POST["rename"] จะไม่ถูกสร้างขึ้น
ดังนั้นหากเราใช้
$strSQL .="('".$_POST["rename"]."', ) ";
จะ error ครับ หาก checkbox ไม่ถูกเช็ค
|
|
|
|
|
Date :
2013-03-06 23:09:27 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดู echo sql
rename ส่งค่า 'on' น่ะครับ
คิดว่าผิดที่หน้าส่งข้อมูล
ถ้าหน้าบันทึกเปลี่ยนเป็นแบบนี้ละครับ
$strSQL .="('".$rename."') ";
ไม่ error แต่ก็ไม่บันทึกข้อมูลครับ
|
ประวัติการแก้ไข 2013-03-06 23:47:47 2013-03-06 23:52:44
|
|
|
|
Date :
2013-03-06 23:44:22 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วก็การ query ทุกครั้งเนี่ย ตรวจ error ไปในตัวด้วยครับ
แล้วเวลา error มันจะได้จบการทำงานและแสดง error message ไปเลย
หากเข้าใจ error message ก็จะได้แก้ได้เลย หรือหากไม่ ต้องถามคนอื่น
การเอา error message มาถามจะได้คำตอบที่เร็วกว่า
พูดปากเปียกปากแฉะ ทำไมไม่มีใครเชื่อแมวเลย T T
Code (PHP)
if (!mysql_query($strSQL)) { // query ที่ทำให้เกิด error จะคืนค่ามาเป็น false เสมอ
echo mysql_error();
exit;
}
|
|
|
|
|
Date :
2013-03-06 23:54:34 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
จริงๆแล้วผมใส่ครับ แต่ใส่แบบนี้
if($objQuery)
{
echo mysql_error() . " *** " . $strSQL;
echo "Error Save [".$strSQL."]";
}
เดี๋ยวจะเอาตามที่พี่บอกครับ
แล้วก็อ่านบทความพี่แล้วนะครับ เดี๋ยวจะแก้ตามพี่ครับ พอดีติดโน่นติดนี่ เลยยังไม่ได้ทำอะไรเท่าไร บางอัน อันเก่าที่พี่บอกไปก็เลยยังอยู่อย่างนั้น
ผมขอโทษพี่จริงๆ ครับ หากทำให้พี่ไม่สบายใจ ผมแก้ตอนนี้เลยครับ
|
ประวัติการแก้ไข 2013-03-07 00:17:34 2013-03-07 00:17:56 2013-03-07 00:18:05 2013-03-07 00:25:22 2013-03-07 00:28:24 2013-03-07 00:28:39 2013-03-07 00:29:15 2013-03-07 00:29:27 2013-03-07 00:29:37 2013-03-07 00:29:47 2013-03-07 00:29:57 2013-03-07 00:30:07 2013-03-07 00:30:17 2013-03-07 00:30:26 2013-03-07 00:30:35 2013-03-07 00:30:44
|
|
|
|
Date :
2013-03-07 00:13:34 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่แมวครับ หน้า insert ครับ
Code (PHP)
$sql = sprintf
("
INSERT INTO `ob`
(`id`,`idpeople`,`rank`,`sex`,`name`,`lastname`,`idposition`,`position`,`birth`
,`daypolice`,`ranknow`,`beforerank`,`daybefore`,`firstnow`,`daypositionnow`,`objsalary`,`level`,``lvsalary
,`salary`,`manset`,`univer`,`levelmaster`,`rename`,`editname`,`sv`,`pgg`,`pbg`,`othergrad`,`address`,`pic`)
VALUES
('', '%s', '%s', '%s', '%s', '%s''%s', '%s', '%s', '%s', '%s''%s', '%s', '%s', '%s', '%s''%s', '%s', '%s', '%s', '%s''%s', '%s', '%s', '%s', '%s''%s', '%s', '%s', '%s', '%s')
",
mysql_real_escape_string($_POST["id"]),
mysql_real_escape_string($_POST["idpeople"]),
mysql_real_escape_string($_POST["lmName3"]),
mysql_real_escape_string($_POST["sex"]),
mysql_real_escape_string($_POST["name"]),
mysql_real_escape_string($_POST["lastname"]),
mysql_real_escape_string($_POST["idposition"]),
mysql_real_escape_string($_POST["position"]),
mysql_real_escape_string($_POST["birth"]),
mysql_real_escape_string($_POST["daypolice"]),
mysql_real_escape_string($_POST["ranknow"]),
mysql_real_escape_string($_POST["beforerank"]),
mysql_real_escape_string($_POST["daybefore"]),
mysql_real_escape_string($_POST["firstnow"]),
mysql_real_escape_string($_POST["daypositionnow"]),
mysql_real_escape_string($_POST["lmName2"]),
mysql_real_escape_string($_POST["txtName"]),
mysql_real_escape_string($_POST["resultText"]),
mysql_real_escape_string($_POST["txtNumberC"]),
mysql_real_escape_string($_POST["lmName4"]),
mysql_real_escape_string($_POST["lmName5"]),
mysql_real_escape_string($_POST["levelmaster"]),
mysql_real_escape_string($_POST['$rename']),
mysql_real_escape_string($_POST["editname"]),
mysql_real_escape_string($_POST["sv"]),
mysql_real_escape_string($_POST["pgg"]),
mysql_real_escape_string($_POST["pbg"]),
mysql_real_escape_string($_POST["textarea10"]),
mysql_real_escape_string($_POST["textarea11"]),
mysql_real_escape_string($_POST[$_FILES["filUpload"]["name"]]) );
$id = mysql_insert_id(); // ¡Ã³Õ·Õèà»ç¹¤èÒ auto increment
if (!mysql_query($sql)) { // query ที่ทำให้เกิด error จะคืนค่ามาเป็น false เสมอ
echo mysql_error();
exit;
}
else
{
echo mysql_error() . " *** " . $strSQL;
echo "Error Save [".$strSQL."]";
}
mysql_close($objConnect);
}
?>
|
ประวัติการแก้ไข 2013-03-07 00:53:08 2013-03-07 01:00:42
|
|
|
|
Date :
2013-03-07 00:51:49 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
Column count doesn't match value count at row 1
|
ประวัติการแก้ไข 2013-03-07 01:01:38 2013-03-07 01:05:37 2013-03-07 01:06:58
|
|
|
|
Date :
2013-03-07 00:59:01 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โห ไม่ได้ขนาดนั้นครับ
บ่นไปตามประสาแมวครับ
แต่ก็ดีใจครับที่น้องเอาสิ่งที่ผมแนะนำไปใช้ จะได้รู้สึกว่าเขียนบทความไปแล้วไม่เหนื่อยเปล่า
|
|
|
|
|
Date :
2013-03-07 01:02:44 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมติด ปัญหาแบบเครียดทั้งวันผมเลยไม่ได้สนใจอันอื่นเลยอะครับ 55
ตอนนี้นั่งไล่โค้ดอยู่ไม่รู้ผิดตรงไหนบ้าง
|
ประวัติการแก้ไข 2013-03-07 01:08:13
|
|
|
|
Date :
2013-03-07 01:06:23 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้รูปแบบนี้อ่านง่ายกว่ามั้ยครับ ตั้ง 30 กว่าฟิลด์
<?php
$sql = sprintf("
INSERT INTO `ob` SET
`id` = '%s',
`idpeople` = '%s',
`rank` = '%s',
`sex` = '%s' ,
`name` = '%s',
`lastname` = '%s',
`idposition` = '%s',
`position` = '%s',
`birth` = '%s',
`daypolice` = '%s',
`ranknow` = '%s',
`beforerank` = '%s',
`daybefore` = '%s',
`firstnow` = '%s',
`daypositionnow` = '%s',
`objsalary` = '%s',
`level` = '%s',
`lvsalary` = '%s',
`salary` = '%s',
`manset` = '%s',
`univer` = '%s',
`levelmaster` = '%s',
`rename` = '%s',
`editname` = '%s',
`sv` = '%s',
`pgg` = '%s',
`pbg` = '%s',
`othergrad` = '%s',
`address` = '%s',
`pic` = '%s'
",
mysql_real_escape_string($_POST["id"]),
mysql_real_escape_string($_POST["idpeople"]),
mysql_real_escape_string($_POST["lmName3"]),
mysql_real_escape_string($_POST["sex"]),
mysql_real_escape_string($_POST["name"]),
mysql_real_escape_string($_POST["lastname"]),
mysql_real_escape_string($_POST["idposition"]),
mysql_real_escape_string($_POST["position"]),
mysql_real_escape_string($_POST["birth"]),
mysql_real_escape_string($_POST["daypolice"]),
mysql_real_escape_string($_POST["ranknow"]),
mysql_real_escape_string($_POST["beforerank"]),
mysql_real_escape_string($_POST["daybefore"]),
mysql_real_escape_string($_POST["firstnow"]),
mysql_real_escape_string($_POST["daypositionnow"]),
mysql_real_escape_string($_POST["lmName2"]),
mysql_real_escape_string($_POST["txtName"]),
mysql_real_escape_string($_POST["resultText"]),
mysql_real_escape_string($_POST["txtNumberC"]),
mysql_real_escape_string($_POST["lmName4"]),
mysql_real_escape_string($_POST["lmName5"]),
mysql_real_escape_string($_POST["levelmaster"]),
mysql_real_escape_string($_POST['$rename']),
mysql_real_escape_string($_POST["editname"]),
mysql_real_escape_string($_POST["sv"]),
mysql_real_escape_string($_POST["pgg"]),
mysql_real_escape_string($_POST["pbg"]),
mysql_real_escape_string($_POST["textarea10"]),
mysql_real_escape_string($_POST["textarea11"]),
mysql_real_escape_string($_FILES["filUpload"]["name"])
);
$id = mysql_insert_id(); // ¡Ã³Õ·Õèà»ç¹¤èÒ auto increment
if (!mysql_query($sql)) { // query ที่ทำให้เกิด error จะคืนค่ามาเป็น false เสมอ
echo mysql_error();
exit;
}
else
{
echo mysql_error() . " *** " . $strSQL;
echo "Error Save [".$strSQL."]";
}
mysql_close($objConnect);
}
?>
|
|
|
|
|
Date :
2013-03-07 01:10:52 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าอ่านง่าย เหมือนกันครับ
พี่ ข้อมูลเข้าครับ แต่ อัพโหลดรูป ไม่เข้า อ่าา ตอนแรกอัพได้ครับ
แล้ว rename มันเป็น on ใน db ครับ
ผมทำไม่เหมือนของพี่ทำ ต้องแก้ใหม่เปล่าครับ
อันนี้ส่วนของ อัพรูป ครับ ต้องแก้ตรงไหนบ้าง
Code (PHP)
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
echo "Copy/Upload Complete<br>";
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("police_mamber");
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client=tis620");
mysql_query("SET character_set_connection=tis620");
Code (PHP)
mysql_real_escape_string($_POST[$_FILES["filUpload"]["name"]]) );
|
ประวัติการแก้ไข 2013-03-07 01:14:42 2013-03-07 01:15:02 2013-03-07 01:15:55 2013-03-07 01:16:03 2013-03-07 01:17:43 2013-03-07 01:19:59 2013-03-07 01:23:51 2013-03-07 01:24:11
|
|
|
|
Date :
2013-03-07 01:14:00 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเราไม่กำหนด attribute value
เวลาเราเช็คและส่งไปยังเซิร์ฟเวอร์ ค่ามันจะเป็น on ครับ
<input type="checkbox" name="rename" id="rename">
สมมติถูกเช็ค
echo $_POST['rename']; // on
|
|
|
|
|
Date :
2013-03-07 01:26:19 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ถ้ากำหนด ก็จะเป็นค่าตามที่เรากำหนด
<input type="checkbox" name="rename" id="rename" value="555">
สมมติถูกเช็ค
echo $_POST['rename']; // 555
|
|
|
|
|
Date :
2013-03-07 01:27:14 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วที่บอกอัพรูปไม่เข้า นี่ยังไงครับ
ไฟล์มันไม่เข้า หรือว่าแค่ชื่อมันไม่เข้าฐานข้อมูล
|
|
|
|
|
Date :
2013-03-07 01:28:15 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าชื่อมันไม่เข้า
น้องลองดูที่น้องทำสิครับ
บรรทัดที่ 43
mysql_real_escape_string($_POST[$_FILES["filUpload"]["name"]]) );
แต่ของพี่ที่แก้ให้เป็นแบบ SET บรรทัดที่ 64
mysql_real_escape_string($_FILES["filUpload"]["name"])
เก็ตมั้ยครับว่าผิดตรงไหน
|
|
|
|
|
Date :
2013-03-07 01:30:05 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ออครับ เดี๋ยวลอง ไปประยุกต์ดู แล้วก็
1.ในส่วนของ หน้าแสดง จะให้ checkbox ตรวจสอบฐานข้อมูล ตาม เงื่อนไขน่ะครับ ทำยังไง
2.เปลี่ยนแบบพี่แล้ว ยังอัพโหลดรูปไม่ได้ครับ
|
|
|
|
|
Date :
2013-03-07 01:31:33 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น้องลองแทรกนี่ไว้ต้นไฟล์ php เลยดีกว่าครับ
error_reporting(-1);
ให้มันแสดง error ทุกชนิดให้หมดครับ จะได้รู้กันว่าจริงๆ มีอะไรบ้างที่น้องพลาดไป
|
|
|
|
|
Date :
2013-03-07 01:33:47 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ตามพี่แล้ว ผ่านหมดครับ
ตรง checkbox ไม่ติ้ก จะ error
แต่รูปยังคง ไม่เข้าเหมือนเดิมครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2013-03-07 01:39:59 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ชื่อไฟล์ไม่เข้าเหรอครับ (ไม่ใช่ตัวไฟล์ใช่มั้ย)
แล้วที่ว่าไม่เข้า นี่คือน้องลองอัพโหลดไฟล์ทุกครั้งที่ submit ใช่มั้ยครับ
|
|
|
|
|
Date :
2013-03-07 01:41:49 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ไปนอนก่อนก็ได้นะครับ
แต่หลักๆ ผมต้องการ checkbox ที่เป็นปัญหาตอนนี้ด้วยน่ะครับ
ชื่อไม่เข้าน่ะครับพี่ แล้วถ้าหากไม่ใส่รูป ต้องทำยังครับ
พี่โค้ดนี้ผมว่าเหมือนมันไม่ถูกเท่าไรรึเปล่าครับ ต้องเปลี่ยน เงื่อนไขใหม่รึเปล่า
เพรา ถ้าติ้ก ต้องแสดง true ไม่ติ้กส่ง false
ผมว่าโค้ดนี้ผิดครับ ไม่รู้ขาดอะไร
Code (PHP)
<?php
if(isset($_POST['rename']) )
{
$rename = "checked";
}
else{
$rename .="false";
}
?>
<input type="checkbox" name="rename" id="rename" value=<?php echo $rename; ?>>
|
ประวัติการแก้ไข 2013-03-07 01:53:29 2013-03-07 01:56:37 2013-03-07 01:59:12 2013-03-07 01:59:53 2013-03-07 02:14:26 2013-03-07 02:15:43 2013-03-07 02:15:53 2013-03-07 02:16:01 2013-03-07 02:16:09 2013-03-07 02:16:17 2013-03-07 02:16:26 2013-03-07 02:16:34 2013-03-07 02:19:03
|
|
|
|
Date :
2013-03-07 01:51:16 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันไม่ใช่ไม่ถูกต้อง แต่มันไม่ค่อยสวยงามและเยิ่นเย้อครับ
ลองแบบนี้ดู
ใช้ ternary operator
...
mysql_real_escape_string($_POST["levelmaster"]),
// ถ้า isset($_POST['rename']) ให้ผลเป็นจริง ก็จะเลือกเอา 'true' นอกนั้น 'false'
mysql_real_escape_string(isset($_POST['rename']) ? 'true' : 'false'),
mysql_real_escape_string($_POST["editname"]),
...
ศึกษาเพิ่มเติม
PHP Shorthand If/Else Using Ternary Operators (?:) - http://davidwalsh.name/php-shorthand-if-else-ternary-operators
|
|
|
|
|
Date :
2013-03-07 02:16:33 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|