|
|
|
ไม่สามารถ เพิ่มข้อมูล sql ได้ครับรบกวนช่วยดูทีครับ |
|
|
|
|
|
|
|
เขียนด้วย php ครับคือ ได้ลองลบแก้ไขข้อมูลเก่าที่มีอยู่แล้ว สามารถแก้ไขได้ แต่เมื่อจะทำการเพิ่มข้อมูลไม่สามารถทำได้ รบกวนผู้รู้ช่วยหน่อยครับ
Code (PHP)
<form role="form" id="frm" name="frm" onsubmit="return false;">
<!-- text input -->
<div class="form-group">
<label>Category</label>
<input type="text" id="name" name="name" class="form-control" placeholder="กรอกข้อมูล ..."/>
</div>
<div class="form-group">
<label>Detail</label>
<textarea id="detail" name="detail" class="form-control"></textarea>
</div>
<input type="hidden" id="id" name="id"/>
<div class="box-footer">
<button type="submit" class="btn btn-primary" id="btn-submit">Submit</button>
</div>
</form>
<script type="text/javascript">
$(document).ready(function(){
$("#btn-submit").click(function(){
if($("#name").val()==""){alert('กรุณากรอกข้อมูล');$("#name").focus();return;}
var data = "type=save_cate&"+$("#frm").serialize()+"";
$.ajax({
type: "post",
url: "<?=PATH_PANEL?>/product/_ajax.php",
cache: false,
data: data,
success: function(result){
if(result==1){
alert('บันทึกข้อมูลเรียบร้อย');
gomenu('product','category');
return;
}
alert('ไม่สามารถบันทึกข้อมูลได้');
return;
}
});
});
});
_ajax.php
Code (PHP)
if($type=="save_cate"){
$id = trim($_POST['id']);
$name = addslashes(trim($_POST['name']));
$detail = addslashes(trim($_POST['detail']));
$by = $_SESSION['ss_admin'];
$ip = getIp();
$sql = ($id=="") ? "INSERT INTO ".TBL_PRODUCT_CATEGORY." (`name`,`detail`,`active`,`create_date`,`create_by`,`create_ip`) VALUES ('".$name."','".$detail."','Y',NOW(),'".$by."','".$ip."');" : "UPDATE ".TBL_PRODUCT_CATEGORY." SET `name`='".$name."',`detail`='".$detail."',`update_by`='".$by."',`update_ip`='".$ip."' WHERE `id`='".$id."' LIMIT 1;" ;
$data=0;
if(mysqli_query($oconn,$sql)){
$data=1;
}
}
Tag : PHP, HTML/CSS, JavaScript, Ajax, CakePHP
|
|
|
|
|
|
Date :
2016-04-18 09:33:34 |
By :
bosprogammer1 |
View :
1081 |
Reply :
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง echo $sql ดูครับว่ามันรับอะไรมาบ้าง ออกมาครบมั้ย
|
|
|
|
|
Date :
2016-04-18 09:41:58 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo $sql ครับ ไม่ใช่ไปสนอย่างอื่น คุณต้องดูตรง $sql ว่ามันรับอะไรมาและเขียนเป็นคำสั่ง insert ออกมาเป็นยังไง เพื่อหาว่าอะไรที่ขาดไปมันจึง insert ไม่ได้
|
|
|
|
|
Date :
2016-04-18 11:26:19 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองส่งข้อมูลธรรมดาโดยไม่ใช้ ajax แล้ว echo ดูเอาครับ ทำจนกว่ามันจะได้แล้วค่อยเอาที่ได้ไปใช้เป็นแบบ ajax
|
|
|
|
|
Date :
2016-04-18 12:24:23 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<form method ="post"> ด้วยหรือเปล่าครับ
เพราะ type ใน js
type: "post"
|
|
|
|
|
Date :
2016-04-18 14:58:50 |
By :
ntee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บอกตรงๆ งงครับ
จากคำบอกที่ว่า "เขียนด้วย php ครับคือ ได้ลองลบแก้ไขข้อมูลเก่าที่มีอยู่แล้ว สามารถแก้ไขได้"
นี่แสดงว่า ทั้งการ เชื่อมต่อ database สภาพแวดล้อมต่างๆ ใช้งานได้หมด ไม่น่ามีปัญหาอะไร
กับการ insert ข้อมูล
แต่ที่ insert ข้อมูลไม่ได้ ย่อมแสดงว่า ได้ไปแก้ไขบางอย่างผิดไปจากเดิม
ก็ต้องดูว่าอะไรที่เราแก้ไขแล้วมันแตกต่าง ไปจากเดิม แต่สิ่งที่สำคัญยิ่ง คือ error message มันคืออะไร
มันต้องมีการแจ้งออกมาว่ามันผิดเพราะอะไร เอาสิ่งที่มันแจ้งเตือนมาบอกกันด้วยครับ อย่าต้องให้เดากันเลย
ช่วยพวกผมเพื่อจะได้ช่วยคุณได้ ได้โปรด 555555
|
|
|
|
|
Date :
2016-04-18 17:59:29 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 10 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-04-18 17:59:29
รายละเอียดของการตอบ ::
เข้าใจครับแต่มันไม่แสดงข้อมูลอะครับ มันบอกแค่ไม่มีข้อมูลซึ่งผมไม่รู้ว่าเป็นที่
$sql = ($id=="") ? "INSERT INTO ".TBL_PRODUCT_CATEGORY." (`name`,`detail`,`active`,`create_date`,`create_by`,`create_ip`) VALUES ('".$name."','".$detail."','Y',NOW(),'".$by."','".$ip."');" : "UPDATE ".TBL_PRODUCT_CATEGORY." SET `name`='".$name."',`detail`='".$detail."',`update_by`='".$by."',`update_ip`='".$ip."' WHERE `id`='".$id."' LIMIT 1;" ;
รึป่าวอะครับเพราะเนื่องจากลองเพิ่มอีกแบบหนึ่งแล้วสามารถทำงานได้บน localhost อะครับ ผมจึงไม่รู้ว่ามันเกิดจากสาเหตุอะไรครับ คือผมไม่ค่อยเก่งอะครับก้อพยายามจะอธิบายเพื่อให้ช่วยเหลืออะครับแต่ไม่รู้อธิบายยังไงครับ ขอโทดด้วยครับ
|
|
|
|
|
Date :
2016-04-21 08:53:24 |
By :
bosprogammer1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12.if(mysqli_query($oconn,$sql)){
13.$data=1;
14.}
แก้เป็น
Code (PHP)
mysqli_query($oconn, $sql) or die( mysqli_error($oconn) . "<br>$sql");
$data=1;
|
|
|
|
|
Date :
2016-04-21 10:35:02 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 12 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-04-21 10:35:02
รายละเอียดของการตอบ ::
ไม่มีอะไรเกิดขึ้นครับนิ่งเลย เปนไปได้ไหมครับว่าข้อมูลใน table ที่เราจะเพิ่มข้อมูลไปไม่ครบจึงไม่สามารถเพิ่มเข้าไปได้อะครับ
เพราะที่ผมลองทำอีกอันเพิ่มมาอะครับ
อันเก่า
$sql = ($id=="") ? "INSERT INTO ".TBL_BRAND." (`Brand_name`,`active`,`create_date`) VALUES ('".$name."','Y',NOW());" : "UPDATE ".TBL_BRAND." SET `Brand_name`='".$name."' WHERE `id`='".$id."' LIMIT 1;" ;
อันใหม่
$sql =($id=="") ? "INSERT INTO ".TBL_BRAND." ( `Brand_name`, `active`, `create_date`, `category_id`) VALUES ( '".$name."', 'Y',NOW(), '".$cate_id."');" : "UPDATE ".TBL_BRAND." SET `Brand_name`='".$name."' WHERE `id`='".$id."' LIMIT 1;" ;
ผมจึงไม่แน่ใจว่าที่เพิ่มไม่ได้เพราะสาเหตุใดอะครับ
|
|
|
|
|
Date :
2016-04-21 11:41:12 |
By :
bosprogammer1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 12 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-04-21 10:35:02
รายละเอียดของการตอบ ::
ถ้าฟิลในตารางเขาเพิ่มไม่ครบได้ไหมครับ เพราะเหมือนว่าในlocalhost จะไม่ยอมอะครับในการเพิ่มข้อมูลเข้าไป แต่ code
Code
$sql = ($id=="") ? "INSERT INTO ".TBL_PRODUCT_CATEGORY." (`name`,`detail`,`active`,`create_date`,`create_by`,`create_ip`) VALUES ('".$name."','".$detail."','Y',NOW(),'".$by."','".$ip."');" : "UPDATE ".TBL_PRODUCT_CATEGORY." SET `name`='".$name."',`detail`='".$detail."',`update_by`='".$by."',`update_ip`='".$ip."' WHERE `id`='".$id."' LIMIT 1;" ;
สามารถทำงานบน server ได้ครับ ซึ่งถ้าใน localhost ต้องเพิ่มแบบนี้ครับ
Code
INSERT INTO `product` (`id`, `cate_id`, `name`, `b_id`, `sub`, `description`, `best`, `active`, `meta_title`, `meta_keywords`, `meta_description`, `meta_robots`, `meta_img_alt`, `meta_a_title`, `create_date`, `create_by`, `create_ip`, `update_date`, `update_by`, `update_ip`) VALUES (NULL, '2', 'bull', '2', '', '', 'N', 'Y', '', '', '', 'Y', '', '', '2016-04-21 00:00:00', '', '', CURRENT_TIMESTAMP, '', '');
ต้องแก้ไขยังไงดีครับ
|
|
|
|
|
Date :
2016-04-21 14:54:43 |
By :
bosprogammer1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็น Syntax ของ MySQL ในกรณี Inert ส่วนตัวขอตอบแบบที่ยังไม่เห็นโค้ดทั้งหมดนะครับ ควรจะเช็คข้อมูลที่ผู้ใช้งานกรอกมาก่อน จากนั้นกำหนดใส่ตัวแปรที่เรากำหนดไว้ในกรณีที่เป็นค่าว่างก็กำหนดค่าให้ตรงกับ Format ของ Column ด้วยนะครับ
ถ้าอยากรู้ว่าผิดตรงไหน? ให้เรา Echo MySQL query เอาไปรันใน PHPMyAdmin ดูครับ จะเห็นว่า Error ยังไง?
|
|
|
|
|
Date :
2016-04-21 15:06:25 |
By :
ALTELMA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|