Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รับข้อมูลจาก Json มาแล้ว insert ลงเบส ค่าไม่เข้าเบส รบกวนทีครับ



 

รับข้อมูลจาก Json มาแล้ว insert ลงเบส ค่าไม่เข้าเบส รบกวนทีครับ

 



Topic : 113037



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์




Code (VBScript)
function btnSendData() {
            var MultiOjb = [];
             var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
             qtid.push(Qobj);
             var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
             date.push(Dobj);

            var rows = [];
            $('#tbShow tbody tr ').each(function () {
                rows.push({
                    QT_NO: $(this).find('td:eq(0)').text(),
                    PRO_ID: $(this).find('td:eq(1)').text(),
                    PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
                    BRAND_NAME: $(this).find('td:eq(3)').text(),
                    MODEL_NAME: $(this).find('td:eq(4)').text(),
                    COLOR_NAME: $(this).find('td:eq(5)').text(),
                    amount: $(this).find('td:eq(6) input').val(),
                    price: $(this).find('td:eq(7) input').val(),
                });
            });
            MultiOjb.push({
                // OfferModel: modelOffer,
                // OfferDetail: rows
                productselect: rows,
                qtID: qtid,
                date: date
            })
            console.log(JSON.stringify(MultiOjb));
            // alert(JSON.stringify(rows));
            //var stringJson = JSON.stringify(rows);
            //$('#tbShow tbody').empty();
            //event.preventDefault();
            // JSON.stringify(MultiOjb);
            $.ajax({
                type: "POST",
                url: "insertQuote.php",
                //dataType: "json",
                data: {tmp : JSON.stringify(MultiOjb)},
                success: function () 
                {
                  alert("OK"); 
                },
                error: function () 
                {
                 alert("Fail"); 
               }
            });
            $("#sendData").hide();
        }


Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();

      	$strRecive = stripslashes($_POST['tmp']);

      	$arrData = json_decode($strRecive,true);
      	
      	$sqlquote = "INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ('".$arrData["QT_ID"]."','".$arrData["DATE"]."'
      		       ,'".$result."','รอการอนุมัติ') ";
		$obj->query($sqlquote);
		$obj->fetch_array();

		$sqlquoteDetail = "INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ('".$arrData["QT_ID"]."','".$arrData["QT_NO"]."','".$arrData["PRO_ID"]."'
		,'".$arrData["amount"]."') ";
		$obj->query($sqlquoteDetail);
		$obj->fetch_array();


		
 ?>




Tag : PHP, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-03 23:06:40 By : top113457 View : 2046 Reply : 45
 

 

No. 1



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

เพราะค่าที่ส่งไปมันเป็น JavaScript Array ครับ

var MultiOjb = [];
.
.
.
MultiOjb.push({
    // OfferModel: modelOffer,
    // OfferDetail: rows
    productselect: rows,
    qtID: qtid,
    date: date
})


พอคุณรับมาด้วย

Code (PHP)
$strRecive = stripslashes($_POST['tmp']);
$arrData = json_decode($strRecive,true);


$arrdata จะเป็น php array
ถ้าคุณจะ INSERT คุณต้อง INSERT สมาชิกใน array

$arrData = json_decode($strRecive,true);
$valuesSql = array(); // ใช้เพื่อสร้าง VALUES
foreach ($arrData as $row) {
	$valuesSql[] = sprintf(
		"('%s','%s','%s','%s')",
		mysql_real_escape_string($row['qtID']), // escape เพื่อกัน SQL Injection
		mysql_real_escape_string($row['date']), // ชื่อต้องตรงกับที่กำหนดใน JavaScript ด้วย
		mysql_real_escape_string($result),
		'รอการอนุมัติ',
	);
}
$obj->query(
	"INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES "
	. implode(',', $valuesSql) // เชื่อม VALUES ด้วย ,
);









ประวัติการแก้ไข
2014-12-03 23:22:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-03 23:20:47 By : phpinfo()
 


 

No. 2



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-03 23:20:47
รายละเอียดของการตอบ ::
อีก Query นึงผมก็ทำแบบเดิมได้เลยใช่ไหมคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-03 23:39:44 By : top113457
 

 

No. 3



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-03 23:20:47
รายละเอียดของการตอบ ::
คือ ตอนนี้ลองทำแล้วก็ยัง insertไป ก็ไม่มีข้อมูลลงเบสอะคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-03 23:52:41 By : top113457
 


 

No. 4



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ลองทำไปแบบไหนเอามาดูสิครับ บอกแค่นี้คุณทำผิดหรือเปล่าผมก็ไม่รู้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-03 23:54:37 By : phpinfo()
 


 

No. 5



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

เดี๋ยวนะครับ
class Core เนี่ยมันใช้ฐานข้อมูลอะไรครับ mysql หรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-03 23:56:18 By : phpinfo()
 


 

No. 6



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-03 23:56:18
รายละเอียดของการตอบ ::
ใช้คับ mysqlครับ


Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();

      	$strRecive = stripslashes($_POST['tmp']);
      	$arrData = json_decode($strRecive,true);
      	$valuesSql = array();
      	foreach ($arrData  as $row)
      	{
      		$valuesSql[] = sprintf("('%s','%s','%s','%s')",mysql_real_escape_string($row['qtID']), mysql_real_escape_string($row['date'])
      			           ,mysql_real_escape_string($result),'รอการอนุมัติ',);
      	}
      	
  //     	$sqlquote = "INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ('".$arrData["QT_ID"]."','".$arrData["DATE"]."'
  //     		       ,'".$result."','รอการอนุมัติ') ";
		// $obj->query($sqlquote);
		// $obj->fetch_array();
		$sql1 = "INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ". implode(',', $valuesSql);
      	$obj->query($sql1);
      	$obj->fetch_array();



      	$valuesSql2 = array();
      	foreach ($arrData  as $row)
      	{
      		$valuesSql2[] = sprintf("('%s','%s','%s','%s')",mysql_real_escape_string($row['qtID']), mysql_real_escape_string($row['QT_NO'])
      			           ,mysql_real_escape_string($row['PRO_ID']),mysql_real_escape_string($row['amount']),);
      	}
      	$sql2 = "INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql2);
      	$obj->query($sql2);
      	$obj->fetch_array();
		// $sqlquoteDetail = "INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ('".$arrData["QT_ID"]."','".$arrData["QT_NO"]."','".$arrData["PRO_ID"]."'
		// ,'".$arrData["amount"]."') ";
		// $obj->query($sqlquoteDetail);
		// $obj->fetch_array();


		
 ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-03 23:59:58 By : top113457
 


 

No. 7



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ขออภัยครับ โค้ดผมผิดครับ มี , เกินมาตัวนึง

Code
$arrData = json_decode($strRecive,true); $valuesSql = array(); // ใช้เพื่อสร้าง VALUES foreach ($arrData as $row) { $valuesSql[] = sprintf( "('%s','%s','%s','%s')", mysql_real_escape_string($row['qtID']), // escape เพื่อกัน SQL Injection mysql_real_escape_string($row['date']), // ชื่อต้องตรงกับที่กำหนดใน JavaScript ด้วย mysql_real_escape_string($result), 'รอการอนุมัติ', // เอาออก ); } $obj->query( "INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES " . implode(',', $valuesSql) // เชื่อม VALUES ด้วย , );

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:07:29 By : phpinfo()
 


 

No. 8



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 00:07:29
รายละเอียดของการตอบ ::
ลองลบแล้วนะคับพี่ ตอนนี้ก็ยังinsertไม่ได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:09:30 By : top113457
 


 

No. 9



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ส่วนลูป 2 ของคุณ ผมคิดว่าไม่น่าจะถูกต้องนะครับ เพราะใน JavaScript คุณส่งมาแค่ MultiOjb แต่ไม่ได้ส่ง rows

Code (JavaScript)
function btnSendData() {
            var MultiOjb = [];
             var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
             qtid.push(Qobj);
             var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
             date.push(Dobj);

            var rows = [];
            $('#tbShow tbody tr ').each(function () {
                rows.push({
                    QT_NO: $(this).find('td:eq(0)').text(),
                    PRO_ID: $(this).find('td:eq(1)').text(),
                    PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
                    BRAND_NAME: $(this).find('td:eq(3)').text(),
                    MODEL_NAME: $(this).find('td:eq(4)').text(),
                    COLOR_NAME: $(this).find('td:eq(5)').text(),
                    amount: $(this).find('td:eq(6) input').val(),
                    price: $(this).find('td:eq(7) input').val(),
                });
            });
            MultiOjb.push({
                // OfferModel: modelOffer,
                // OfferDetail: rows
                productselect: rows,
                qtID: qtid,
                date: date
            })
            console.log(JSON.stringify(MultiOjb));
            // alert(JSON.stringify(rows));
            //var stringJson = JSON.stringify(rows);
            //$('#tbShow tbody').empty();
            //event.preventDefault();
            // JSON.stringify(MultiOjb);
            $.ajax({
                type: "POST",
                url: "insertQuote.php",
                //dataType: "json",
                data: {tmp : JSON.stringify(MultiOjb)}, // คุณส่งแค่ MultiOjb
// ถ้าจะส่ง rows ด้วย ลองเพิ่มเป็น
// data: {tmp : JSON.stringify(MultiOjb), rows: rows},
                success: function () 
                {
                  alert("OK"); 
                },
                error: function () 
                {
                 alert("Fail"); 
               }
            });
            $("#sendData").hide();
        }



และไปอ่านค่าใน php อีกที

Code (PHP)
      	$arrData = json_decode($_POST['rows'],true);
        $valuesSql2 = array();
      	foreach ($arrData  as $row)
      	{
      		$valuesSql2[] = sprintf("('%s','%s','%s','%s')",mysql_real_escape_string($row['qtID']), mysql_real_escape_string($row['QT_NO'])
      			           ,mysql_real_escape_string($row['PRO_ID']),mysql_real_escape_string($row['amount']),);
      	}
      	$sql2 = "INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql2);
      	$obj->query($sql2);
      	$obj->fetch_array();
		// $sqlquoteDetail = "INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ('".$arrData["QT_ID"]."','".$arrData["QT_NO"]."','".$arrData["PRO_ID"]."'
		// ,'".$arrData["amount"]."') ";
		// $obj->query($sqlquoteDetail);
		// $obj->fetch_array();


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:10:57 By : phpinfo()
 


 

No. 10



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

จริงๆ query ไม่จำเป็นต้องใส่ลงตัวแปรนะครับ

Code (PHP)
$sql2 = "INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql2);
$obj->query($sql2); // เพื่ออะไร
// ในเมื่อเราใช้ 
// $obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql2));
// ก็ได้


ตัวแปรที่ใช้ชั่วคราวก็ไม่ต้องตั้งใหม่ก็ได้

เพื่ออะไร
$valuesSql2 = array();
// ทำไมไม่ใช้ $valuesSql = array(); เพราะมันใช้ชั่วคราว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:13:08 By : phpinfo()
 


 

No. 11



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 00:13:08
รายละเอียดของการตอบ ::

ครับเปลี่ยนเป็นเหมือนเดิมแล้วครับ ก็ไม่ได้



Code (JavaScript)
MultiOjb.push({
                // OfferModel: modelOffer,
                // OfferDetail: rows
                productselect: rows,
                qtID: qtid,
                date: date
            })


ตัว productselect ของผมคือจะเอาค่าข้างในobjตัวนี้จะเรียก ตัวด้านในได้เลยไหม หรือว่าต้องเรียกผ่านตัวนี้ก่อน ตอนที่จะinsertอะคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:22:00 By : top113457
 


 

No. 12



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

เอาที่ทำไปแล้วมาให้ดูสิครับ บอกแค่ไม่ได้ แล้วผมจะบอกให้แก้ยังไง ถ้าไม่รู้ว่าคุณทำไปแบบไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:24:13 By : phpinfo()
 


 

No. 13



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 00:24:13
รายละเอียดของการตอบ ::
คับ


Code (JavaScript)
function btnSendData() {
            var MultiOjb = [];
             var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
             qtid.push(Qobj);
             var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
             date.push(Dobj);

            var rows = [];
            $('#tbShow tbody tr ').each(function () {
                rows.push({
                    QT_NO: $(this).find('td:eq(0)').text(),
                    PRO_ID: $(this).find('td:eq(1)').text(),
                    PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
                    BRAND_NAME: $(this).find('td:eq(3)').text(),
                    MODEL_NAME: $(this).find('td:eq(4)').text(),
                    COLOR_NAME: $(this).find('td:eq(5)').text(),
                    amount: $(this).find('td:eq(6) input').val(),
                    price: $(this).find('td:eq(7) input').val(),
                });
            });
            MultiOjb.push({
                productselect: rows,
                qtID: qtid,
                date: date
            })
            console.log(JSON.stringify(MultiOjb));
            $.ajax({
                type: "POST",
                url: "insertQuote.php",
                //dataType: "json",
                data: {tmp : JSON.stringify(MultiOjb)},
                success: function () 
                {
                  alert("OK"); 
                },
                error: function () 
                {
                 alert("Fail"); 
               }
            });
            $("#sendData").hide();
        }


Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();

      	$strRecive = stripslashes($_POST['tmp']);
      	$arrData = json_decode($strRecive,true);
      	$valuesSql = array();
      	foreach ($arrData  as $row)
      	{
      		$valuesSql[] = sprintf("('%s','%s','%s','%s')",mysql_real_escape_string($row['qtID']), mysql_real_escape_string($row['date'])
      			           ,mysql_real_escape_string($result),'รอการอนุมัติ');
      	}

      	$obj->query("INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ". implode(',', $valuesSql));



      	foreach ($arrData  as $row)
      	{
      		$valuesSql[] = sprintf("('%s','%s','%s','%s')",mysql_real_escape_string($row['qtID']), mysql_real_escape_string($row['QT_NO'])
      			           ,mysql_real_escape_string($row['PRO_ID']),mysql_real_escape_string($row['amount']));
      	}
      	$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));

 ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:27:45 By : top113457
 


 

No. 14



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ผมอุตส่าห์จัดโค้ดให้อ่านง่ายๆ คุณก็ไปทำให้มันอ่านยากเหมือนเดิม

Code (PHP)
<?php 
session_start();
require('Core.php');
$obj = new Core; 

if(!isset($_SESSION['EMP_ID'])) {
	echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
}

$sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
$obj->query($sql);
$result = $obj->fetch_array();

$strRecive = stripslashes($_POST['tmp']);
$arrData = json_decode($strRecive,true);
$valuesSql = array();
foreach ($arrData  as $row)
{
	$valuesSql[] = sprintf(
		"('%s','%s','%s','%s')",
		mysql_real_escape_string($row['qtID']),
		mysql_real_escape_string($row['date']),
		mysql_real_escape_string($result),
		'รอการอนุมัติ'
	);
}

$obj->query("INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ". implode(',', $valuesSql));

// คุณไม่ได้ส่งค่าสำหรับข้อมูลชุดที่สอง มัน INSERT ไม่เข้าก็ไม่แปลก
$valuesSql = array(); // และคุณไม่ได้กำหนดตรงนี้ ดังนั้น $valuesSql ก่อนหน้ามันก็ยังอยู่ ทำให้ query กลายเป็น error
foreach ($arrData  as $row)
{
	$valuesSql[] = sprintf(
		"('%s','%s','%s','%s')",
		mysql_real_escape_string($row['qtID']),
		mysql_real_escape_string($row['QT_NO']), // มันจะมาจากไหนครับ ในเมื่อไม่ได้ส่งมา
		mysql_real_escape_string($row['PRO_ID']), // เนี่ย
		mysql_real_escape_string($row['amount']) // เนี่ย
	);
}
$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:34:54 By : phpinfo()
 


 

No. 15



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 14 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 00:34:54
รายละเอียดของการตอบ ::
มันคือ data ใน obj productselect ครับ
productselect

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:40:27 By : top113457
 


 

No. 16



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

Code (JavaScript)
function btnSendData() {
	var MultiOjb = []; // ข้อมูลชุดที่ 1 ที่จะไปอยู่ใน $_POST['tmp']
	var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
	qtid.push(Qobj);
	var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
	date.push(Dobj);

	var rows = [];
	$('#tbShow tbody tr ').each(function () {
		// นี่คือข้อมูลชุดที่สองใช่หรือไม่
		// ถ้าใช่มันจะไปอยู่ใน $_POST['rows']
		// คุณไม่ได้ส่ง qtID ไปด้วย แต่ใน php มีอ่านค่า qtID
		rows.push({
			QT_NO: $(this).find('td:eq(0)').text(),
			PRO_ID: $(this).find('td:eq(1)').text(),
			PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
			BRAND_NAME: $(this).find('td:eq(3)').text(),
			MODEL_NAME: $(this).find('td:eq(4)').text(),
			COLOR_NAME: $(this).find('td:eq(5)').text(),
			amount: $(this).find('td:eq(6) input').val(),
			price: $(this).find('td:eq(7) input').val(),
		});
	});
	MultiOjb.push({
		productselect: rows,
		qtID: qtid,
		date: date
	})
	console.log(JSON.stringify(MultiOjb));
	$.ajax({
		type: "POST",
		url: "insertQuote.php",
		//dataType: "json",
		data: {
			tmp : JSON.stringify(MultiOjb), // $_POST['tmp']
			rows: JSON.stringify(rows) // $_POST['rows']
		},
		success: function () {
		  alert("OK"); 
		},
		error: function () {
			alert("Fail"); 
		}
	});
	$("#sendData").hide();
}


Code (PHP)
<?php 
session_start();
require('Core.php');
$obj = new Core; 

if(!isset($_SESSION['EMP_ID'])) {
	echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
}

$sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
$obj->query($sql);
$result = $obj->fetch_array();

//$strRecive = stripslashes($_POST['tmp']); ตรงนี้ไม่ต้องมีก็ได้
//$arrData = json_decode($strRecive,true);
$arrData = json_decode($_POST['tmp'], true);
$valuesSql = array();
foreach ($arrData  as $row) {
	$valuesSql[] = sprintf(
		"('%s','%s','%s','%s')",
		mysql_real_escape_string($row['qtID']),
		mysql_real_escape_string($row['date']),
		mysql_real_escape_string($result),
		'รอการอนุมัติ'
	);
}
$obj->query("INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ". implode(',', $valuesSql));

$arrData = json_decode($_POST['rows'], true);
$valuesSql = array();
foreach ($arrData  as $row) {
	$valuesSql[] = sprintf(
		"('%s','%s','%s','%s')",
		mysql_real_escape_string($row['qtID']), // อันนี้มันจะมีค่าหรือเปล่าครับ ในเมื่อคุณไม่ได้ส่งมา
		mysql_real_escape_string($row['QT_NO']),
		mysql_real_escape_string($row['PRO_ID']),
		mysql_real_escape_string($row['amount'])
	);
}
$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:41:32 By : phpinfo()
 


 

No. 17



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

เด๋วนะครับ
แสดงว่า MultiOjb ยังไงมันจะมีแค่ 1 ตัวใช่มั้ยครับ แล้วคุณใช้เป็น Array ทำไมครับ

Code (JavaScript)
function btnSendData() {
	//var MultiOjb = []; ตัดทิ้งไปเลย
	var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
	qtid.push(Qobj);
	var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
	date.push(Dobj);

	var rows = [];
	$('#tbShow tbody tr ').each(function () {
		rows.push({
			QT_NO: $(this).find('td:eq(0)').text(),
			PRO_ID: $(this).find('td:eq(1)').text(),
			PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
			BRAND_NAME: $(this).find('td:eq(3)').text(),
			MODEL_NAME: $(this).find('td:eq(4)').text(),
			COLOR_NAME: $(this).find('td:eq(5)').text(),
			amount: $(this).find('td:eq(6) input').val(),
			price: $(this).find('td:eq(7) input').val(),
		});
	});
	/*MultiOjb.push({
		productselect: rows,
		qtID: qtid,
		date: date
	})*/
	console.log(JSON.stringify(MultiOjb));
	$.ajax({
		type: "POST",
		url: "insertQuote.php",
		//dataType: "json",
		/*data: {
			tmp : JSON.stringify(MultiOjb), // $_POST['tmp']
			rows: JSON.stringify(rows) // $_POST['rows']
		},*/
		data: {
			productselect : JSON.stringify(rows), // $_POST['productselect']
			qtID: qtid, // $_POST['qtID']
			date: date // $_POST['date']
		},
		success: function () {
		  alert("OK"); 
		},
		error: function () {
			alert("Fail"); 
		}
	});
	$("#sendData").hide();
}



ประวัติการแก้ไข
2014-12-04 00:50:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:45:31 By : phpinfo()
 


 

No. 18



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

Code (PHP)
<?php 
session_start();
require('Core.php');
$obj = new Core; 

if(!isset($_SESSION['EMP_ID'])) {
	echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
}

$sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
$obj->query($sql);
$result = $obj->fetch_array();

$obj->query(
	sprintf(
		"
		INSERT into quote
			(QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS)
		VALUES
			('%s', '%s', '%s', '%s')
		",
		mysql_real_escape_string($_POST['qtID']),
		mysql_real_escape_string($_POST['date']),
		mysql_real_escape_string($result),
		'รอการอนุมัติ'
	)
);

$productselect = json_decode($_POST['productselect'], true);
$valuesSql = array();
foreach ($productselect  as $row) {
	$valuesSql[] = sprintf(
		"('%s','%s','%s','%s')",
		mysql_real_escape_string($_POST['qtID']),
		mysql_real_escape_string($row['QT_NO']),
		mysql_real_escape_string($row['PRO_ID']),
		mysql_real_escape_string($row['amount'])
	);
}
$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:49:27 By : phpinfo()
 


 

No. 19



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 16 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 00:41:32
รายละเอียดของการตอบ ::
ก็ยังไม่ได้อะคับพี่


Code (JavaScript)
  var MultiOjb = [];
              var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
              qtid.push(Qobj);
             var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
             date.push(Dobj);

            var rows = [];
            $('#tbShow tbody tr ').each(function () {
                rows.push({
                    QT_NO: $(this).find('td:eq(0)').text(),
                    PRO_ID: $(this).find('td:eq(1)').text(),
                    PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
                    BRAND_NAME: $(this).find('td:eq(3)').text(),
                    MODEL_NAME: $(this).find('td:eq(4)').text(),
                    COLOR_NAME: $(this).find('td:eq(5)').text(),
                    amount: $(this).find('td:eq(6) input').val(),
                    price: $(this).find('td:eq(7) input').val(),
                    QT_ID: $("#quoteid").val(),    //ผมเพิ่ม QT_IDเข้าในrows แล้วนะคับ
                });
            });
            MultiOjb.push({
                productselect: rows,
                 qtID: qtid,
                date: date,
            })
            console.log(JSON.stringify(MultiOjb));
            $.ajax({
                type: "POST",
                url: "insertQuote.php",
                //dataType: "json",
                // data: {tmp : JSON.stringify(MultiOjb)},
                data:  {
                  tmp : JSON.stringify(MultiOjb), // $_POST['tmp']
                  rows: JSON.stringify(rows) // $_POST['rows']
                },
                success: function () 
                {
                  alert("OK"); 
                },
                error: function () 
                {
                 alert("Fail"); 
               }
            });
            $("#sendData").hide();
        }

Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();

	    $arrData = json_decode($_POST['tmp'], true);
      	$valuesSql = array();
		      	foreach ($arrData  as $row) {
					$valuesSql[] = sprintf(
						"('%s','%s','%s','%s')",
						mysql_real_escape_string($row['qtID']),
						mysql_real_escape_string($row['date']),
						mysql_real_escape_string($result),
						'รอการอนุมัติ'
					);
		}

      	$obj->query("INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ". implode(',', $valuesSql));


      	$arrData = json_decode($_POST['rows'], true);
		$valuesSql = array();
      	foreach ($arrData  as $row) {
			$valuesSql[] = sprintf(
				"('%s','%s','%s','%s')",
				mysql_real_escape_string($row['QT_ID']), 
				mysql_real_escape_string($row['QT_NO']),
				mysql_real_escape_string($row['PRO_ID']),
				mysql_real_escape_string($row['amount'])
			);
		}
      	$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));

 ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 00:59:44 By : top113457
 


 

No. 20



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ไม่ได้ก็ไม่แปลกครับ ลองดูโค้ด php ล่าสุดของผมแล้วลองสังเกตดูว่ามันต่างกันตรงไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:06:17 By : phpinfo()
 


 

No. 21



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

JavaScript ด้วย ผมให้ไปแล้ว สังเกตดูสิครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:06:58 By : phpinfo()
 


 

No. 22



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 21 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 01:06:58
รายละเอียดของการตอบ ::
แก้ตามแล้วนะพี่ยังไม่ได้เลยอะคับ


Code (JavaScript)
function btnSendData() {
              var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
              qtid.push(Qobj);
             var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
             date.push(Dobj);

            var rows = [];
            $('#tbShow tbody tr ').each(function () {
                rows.push({
                    QT_NO: $(this).find('td:eq(0)').text(),
                    PRO_ID: $(this).find('td:eq(1)').text(),
                    PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
                    BRAND_NAME: $(this).find('td:eq(3)').text(),
                    MODEL_NAME: $(this).find('td:eq(4)').text(),
                    COLOR_NAME: $(this).find('td:eq(5)').text(),
                    amount: $(this).find('td:eq(6) input').val(),
                    price: $(this).find('td:eq(7) input').val(),
                    QT_ID: $("#quoteid").val(),
                });
            });
            $.ajax({
                type: "POST",
                url: "insertQuote.php",
                data: {
                  productselect : JSON.stringify(rows), // $_POST['productselect']
                  qtID: qtid, // $_POST['qtID']
                  date: date // $_POST['date']
                },
                success: function () 
                {
                  alert("OK"); 
                },
                error: function () 
                {
                 alert("Fail"); 
               }
            });
            $("#sendData").hide();
        }

Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();
	      $obj->query(
			sprintf(
				"
				INSERT into quote
					(QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS)
				VALUES
					('%s', '%s', '%s', '%s')
				",
				mysql_real_escape_string($_POST['qtID']),
				mysql_real_escape_string($_POST['date']),
				mysql_real_escape_string($result),
				                              'รอการอนุมัติ'
			)
		);

      	// $obj->query("INSERT into quote (QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS) VALUES ". implode(',', $valuesSql));

	      $productselect = json_decode($_POST['productselect'], true);
			$valuesSql = array();
			foreach ($productselect  as $row) {
				$valuesSql[] = sprintf(
					"('%s','%s','%s','%s')",
					mysql_real_escape_string($_POST['qtID']),
					mysql_real_escape_string($row['QT_NO']),
					mysql_real_escape_string($row['PRO_ID']),
					mysql_real_escape_string($row['amount'])
				);
			}
$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));


 ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:18:43 By : top113457
 


 

No. 23



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ต้อง check error แล้วครับ ที่ว่าไม่ได้นี่คือมัน alert ว่า Fail หรือว่า OK ครับ

ถ้ามัน alert OK ก็ต้องดู error จาก mysql แล้วล่ะครับ
class Core นี่มันมีแสดง error มั้ยครับ
แต่ก็ต้องถามก่อนว่า class Core นี่มันใช้ mysql แบบไหน mysqli หรือ mysql แบบเก่า
เพราะถ้าใช้ mysqli หรือ PDO โค้ดที่ผมให้ไปมันจะใช้ไม่ได้ เพราะมันใช้ mysql แบบเก่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:26:26 By : phpinfo()
 


 

No. 24



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

Code (JavaScript)
function btnSendData() {
              var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
              qtid.push(Qobj);
             var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
             date.push(Dobj);

            var rows = [];
            $('#tbShow tbody tr ').each(function () {
                rows.push({
                    QT_NO: $(this).find('td:eq(0)').text(),
                    PRO_ID: $(this).find('td:eq(1)').text(),
                    PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
                    BRAND_NAME: $(this).find('td:eq(3)').text(),
                    MODEL_NAME: $(this).find('td:eq(4)').text(),
                    COLOR_NAME: $(this).find('td:eq(5)').text(),
                    amount: $(this).find('td:eq(6) input').val(),
                    price: $(this).find('td:eq(7) input').val(),
                    QT_ID: $("#quoteid").val(),
                });
            });
            $.ajax({
                type: "POST",
                url: "insertQuote.php",
                data: {
                  productselect : JSON.stringify(rows), // $_POST['productselect']
                  qtID: qtid, // $_POST['qtID']
                  date: date // $_POST['date']
                },
                success: function (response) 
                {
                  alert(response); // เพิ่มนี่ดู จะได้รู้ว่าถ้ามี error ฝั่ง php เช่น Fatal error หรือ Warning
                  alert("OK"); 
                },
                error: function () 
                {
                 alert("Fail"); 
               }
            });
            $("#sendData").hide();
        }


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:27:37 By : phpinfo()
 


 

No. 25



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 23 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 01:26:26
รายละเอียดของการตอบ ::
ตอนกด ขึ้น alert ขึ้นมากว่า OKครับ


Code (PHP)
<?php
class Core {
	protected $db, $result;
	private $rows;
	
	public function __construct(){
		$this->db = new mysqli('localhost','root','','mydatabase');
		$this->db->query("SET character_set_results=utf8");
		$this->db->query("SET character_set_client=utf8");
		$this->db->query("SET character_set_connection=utf8");
	}
	public function query($sql){
		$this->result = $this->db->query($sql);
	}
	public function rows(){
		for($x = 1 ; $x <= $this->db->affected_rows ; $x++){
			$this->rows[]=$this->result->fetch_assoc();
		}
		return $this->rows;
	}
	public function fetch_array(){
		return $this->result->fetch_array();
	}
	public function fetch_assoc(){
		return $this->result->fetch_assoc();
	}
	public function num_rows(){
		return $this->result->num_rows;
	}
}

	

?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:29:01 By : top113457
 


 

No. 26



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 24 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 01:27:37
รายละเอียดของการตอบ ::
มีขึ้น wariningอยู่คับ


Warning
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:33:40 By : top113457
 


 

No. 27



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

เพิ่ม escape() เข้าไปใน class Core ครับ แล้วเปลี่ยน mysql_real_escape_string เป็น $obj->escape

<?php
class Core {
	protected $db, $result;
	private $rows;
	
	public function __construct(){
		$this->db = new mysqli('localhost','root','','mydatabase');
		$this->db->query("SET character_set_results=utf8");
		$this->db->query("SET character_set_client=utf8");
		$this->db->query("SET character_set_connection=utf8");
	}
	public function query($sql){
		$this->result = $this->db->query($sql);
	}
	public function rows(){
		for($x = 1 ; $x <= $this->db->affected_rows ; $x++){
			$this->rows[]=$this->result->fetch_assoc();
		}
		return $this->rows;
	}
	public function fetch_array(){
		return $this->result->fetch_array();
	}
	public function fetch_assoc(){
		return $this->result->fetch_assoc();
	}
	public function num_rows(){
		return $this->result->num_rows;
	}
	public function escape($sql){
		return $this->db->real_escape_string($sql);
	}
}

	

?>



แต่ error หลักๆ ต้องดูข้อมูลกันใหม่แล้วครับ
ทำไม qtID ถึงเป็น array ใน JavaScript ครับ คุณต้องการทำอะไรกันแน่
เข้าใจโค้ด JavaScript ที่ทำอยู่หรือเปล่า หรือว่าเอาโค้ดใครมาแก้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:45:23 By : phpinfo()
 


 

No. 28



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ผมก็เพิ่งสังเกต

Code (JavaScript)
var qtid=[];
var date = [];


qtid และ date มันเป็น array ทำไมถึงเป็น array ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:48:35 By : phpinfo()
 


 

No. 29



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 27 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 01:45:23
รายละเอียดของการตอบ ::
มัน Fatal แทนแล้วละครับ

test
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 01:58:00 By : top113457
 


 

No. 30



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

อ่านคำตอบ 27 ดูอีกทีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:07:25 By : phpinfo()
 


 

No. 31



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 30 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 02:07:25
รายละเอียดของการตอบ ::
ผมแก้ตามแล้วครับ มันเลยขึ้นเป็น Fatalแทน


Code (PHP)
<?php
class Core {
	protected $db, $result;
	private $rows;
	
	public function __construct(){
		$this->db = new mysqli('localhost','root','','mydatabase');
		$this->db->query("SET character_set_results=utf8");
		$this->db->query("SET character_set_client=utf8");
		$this->db->query("SET character_set_connection=utf8");
	}
	public function query($sql){
		$this->result = $this->db->query($sql);
	}
	public function rows(){
		for($x = 1 ; $x <= $this->db->affected_rows ; $x++){
			$this->rows[]=$this->result->fetch_assoc();
		}
		return $this->rows;
	}
	public function fetch_array(){
		return $this->result->fetch_array();
	}
	public function fetch_assoc(){
		return $this->result->fetch_assoc();
	}
	public function num_rows(){
		return $this->result->num_rows;
	}
	public function escape($sql){
		return $this->db->real_escape_string($sql);
	}
}
	

?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:08:24 By : top113457
 


 

No. 32



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

เปลี่ยนตรงนี้ด้วยหรือเปล่าล่ะครับ
$valuesSql[] = sprintf(
	"('%s','%s','%s','%s')",
	$obj->escape($row['qtID']),
	$obj->escape($row['date']),
	$obj->escape($result),
				'รอการอนุมัติ'
);


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:26:55 By : phpinfo()
 


 

No. 33



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 32 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 02:26:55
รายละเอียดของการตอบ ::
เปลี่ยนแล้วครับพี่


Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();
	      $obj->query(
			sprintf(
				"
				INSERT into quote
					(QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS)
				VALUES
					('%s', '%s', '%s', '%s')
				",
				$obj->escape($_POST['qtID']),
				$obj->escape($_POST['date']),
				$obj->escape($result),
				'รอการอนุมัติ'
			)
		);

      	
	      $productselect = json_decode($_POST['productselect'], true);
			$valuesSql = array();
			foreach ($productselect  as $row) {
				$valuesSql[] = sprintf(
					"('%s','%s','%s','%s')",
					$obj->escape($_POST['qtID']),
					$obj->escape($row['QT_NO']),
					$obj->escape($row['PRO_ID']),
					$obj->escape($row['amount'])
				);
			}
$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));


 ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:30:53 By : top113457
 


 

No. 34



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 32 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 02:26:55
รายละเอียดของการตอบ ::
ถ้าผมเอา escape ออก

tete
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:34:15 By : top113457
 


 

No. 35



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 34 เขียนโดย : top113457 เมื่อวันที่ 2014-12-04 02:34:15
รายละเอียดของการตอบ ::
กลับไปอ่าน 28 ครับ
ผมถามว่าทำไมถึงเป็น Array ถ้าคุณตอบผมไม่ได้ ผมก็ช่วยต่อไม่ได้แล้วครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:37:59 By : phpinfo()
 


 

No. 36



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 35 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 02:37:59
รายละเอียดของการตอบ ::
ผมเลียนแบบจากตัว ที่ส่งข้อมูลเป็นก้อนคับ

ถ้าจะให้รวมกับตัว rows มันก็ได้คับ



ประวัติการแก้ไข
2014-12-04 02:48:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:45:09 By : top113457
 


 

No. 37



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ถ้าเป็นแบบนี้น่าจะดีกว่านะครับ เพราะ

var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
qtid.push(Qobj);
 var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
 date.push(Dobj);



เป็นโค้ดที่ไม่มีประโยชน์เลย

เปลี่ยนเป็นแบบนี้ดีกว่า
function btnSendData() {
	/*var qtid=[]; var Qobj = { QT_ID: ""}; Qobj.QT_ID = $("#quoteid").val();
	qtid.push(Qobj);
 var date = []; var Dobj = {DATE: ""}; Dobj.DATE = $("#date").val();
 date.push(Dobj);*/

var rows = [];
$('#tbShow tbody tr ').each(function () {
		rows.push({
				QT_NO: $(this).find('td:eq(0)').text(),
				PRO_ID: $(this).find('td:eq(1)').text(),
				PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
				BRAND_NAME: $(this).find('td:eq(3)').text(),
				MODEL_NAME: $(this).find('td:eq(4)').text(),
				COLOR_NAME: $(this).find('td:eq(5)').text(),
				amount: $(this).find('td:eq(6) input').val(),
				price: $(this).find('td:eq(7) input').val(),
				QT_ID: $("#quoteid").val(),
		});
});
$.ajax({
		type: "POST",
		url: "insertQuote.php",
		data: {
			productselect : JSON.stringify(rows), // $_POST['productselect']
			// ใส่เข้าไปตรงๆ ไม่ต้องไปซ้อนกันเหมือนตอนแรกให้ยุ่งยาก
			qtID: $("#quoteid").val(), // $_POST['qtID']
			date: $("#date").val() // $_POST['date']
		},
		success: function (response) 
		{
			alert(response); // เพิ่มนี่ดู จะได้รู้ว่าถ้ามี error ฝั่ง php เช่น Fatal error หรือ Warning
			alert("OK"); 
		},
		error: function () 
		{
		 alert("Fail"); 
	 }
});
$("#sendData").hide();
}




ประวัติการแก้ไข
2014-12-04 02:57:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:56:00 By : phpinfo()
 


 

No. 38



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ส่วน Fatal Error ของ $obj->escape นี่คุณแน่ใจหรือยังว่าคุณแก้ไข Core.php และ save เรียบร้อยแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 02:58:23 By : phpinfo()
 


 

No. 39



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 38 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 02:58:23
รายละเอียดของการตอบ ::
ครับ save แล้ว ตอนนี้ขึ้นแค่ warning mysql_real_escape_string() expects parameter 1 to be string array given in อย่างเดียวคับ


Code (JavaScript)
function btnSendData() {
            var rows = [];
            $('#tbShow tbody tr ').each(function () {
                rows.push({
                    QT_NO: $(this).find('td:eq(0)').text(),
                    PRO_ID: $(this).find('td:eq(1)').text(),
                    PRO_TYPE_NAME: $(this).find('td:eq(2)').text(),
                    BRAND_NAME: $(this).find('td:eq(3)').text(),
                    MODEL_NAME: $(this).find('td:eq(4)').text(),
                    COLOR_NAME: $(this).find('td:eq(5)').text(),
                    amount: $(this).find('td:eq(6) input').val(),
                    price: $(this).find('td:eq(7) input').val(),
                    // QT_ID: $("#quoteid").val(),
                    date: $("#date").val(),
                });
            });
          
            console.log(JSON.stringify(rows));
   
            $.ajax({
                type: "POST",
                url: "insertQuote.php",
         
                data: {
                  productselect : JSON.stringify(rows), // $_POST['productselect']
                  qtID: $("#quoteid").val(), // $_POST['qtID']
                  date: $("#date").val()// $_POST['date']
                },
                success: function (response) 
                {
                  alert(response);
                  alert("OK"); 
                },
                error: function () 
                {
                 alert("Fail"); 
               }
            });
            $("#sendData").hide();
        }

Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();
	      $obj->query(
			sprintf(
				"
				INSERT into quote
					(QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS)
				VALUES
					('%s', '%s', '%s', '%s')
				",
				$obj->escape($_POST['qtID']),
				$obj->escape($_POST['date']),
				$obj->escape($result),  //มันฟ้องตรงqueryนีอะคับ
				'รอการอนุมัติ'
			)
		);

  
	      $productselect = json_decode($_POST['productselect'], true);
			$valuesSql = array();
			foreach ($productselect  as $row) {
				$valuesSql[] = sprintf(
					"('%s','%s','%s','%s')",
					$obj->escape($_POST['qtID']),
					$obj->escape($row['QT_NO']),
					$obj->escape($row['PRO_ID']),
					$obj->escape($row['amount'])
				);
			}
$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));


 ?>



ประวัติการแก้ไข
2014-12-04 03:08:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 03:07:58 By : top113457
 


 

No. 40



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

เด๋วครับ มันมาจากไหน ในเมื่อไม่ได้ใช้ mysql_real_escape_string() แล้ว
แล้วก็ไม่มี Array ส่งไปแล้ว ผมเริ่มงงแล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 03:50:44 By : phpinfo()
 


 

No. 41



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

อ๋อ เห็นแล้วครับ
$result นี่จะเก็บฟิลด์ไหนก็ระบุด้วยครับ

Code (PHP)
<?php 
	session_start();
	 require('Core.php');
      $obj = new Core; 

      	if(!isset($_SESSION['EMP_ID']))
	      {
	       echo "<script language='javascript'> alert('No Session');window.location='quote.php';</script>";
	      }
      	  $sql = "SELECT * FROM employee WHERE EMP_ID = '".$_SESSION['EMP_ID']."'  ";
	      $obj->query($sql);
	      $result = $obj->fetch_array();
	      $obj->query(
			sprintf(
				"
				INSERT into quote
					(QT_ID,QT_DATE,EMP_ID_QU,QT_STATUS)
				VALUES
					('%s', '%s', '%s', '%s')
				",
				$obj->escape($_POST['qtID']),
				$obj->escape($_POST['date']),
				$obj->escape($result['ชื่อฟิลด์']),  // ระบุด้วยว่าจะเก็บค่าฟิลด์ไหน
				'รอการอนุมัติ'
			)
		);

  
	      $productselect = json_decode($_POST['productselect'], true);
			$valuesSql = array();
			foreach ($productselect  as $row) {
				$valuesSql[] = sprintf(
					"('%s','%s','%s','%s')",
					$obj->escape($_POST['qtID']),
					$obj->escape($row['QT_NO']),
					$obj->escape($row['PRO_ID']),
					$obj->escape($row['amount'])
				);
			}
$obj->query("INSERT into quote_detail (QT_ID,QT_NO,PRO_ID,QT_AMOUNT) VALUES ". implode(',', $valuesSql));


 ?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 03:52:41 By : phpinfo()
 


 

No. 42



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


สิ่งสำคัญ จขกท ไม่ยอมเปลียนรูปแบบการส่ง เพราะไม่เข้าใจ รูปแบบตัวแปรที่ส่งเป็น array

ลองไปศึกษารูปแบบของตัวแปร array ให้ชัดเจนก่อนครับ

จาก คห 15 ศึกษา วิธีเรียกใช้ ให้ถูกต้อง ก่อน ครับ

เรียกใช้ไม่เป็น แล้วจะได้ค่าที่ต้องการมาอยางไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 07:44:14 By : Chaidhanan
 


 

No. 43



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 41 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 03:52:41
รายละเอียดของการตอบ ::
ครับผม ขอบคุณมากคับ คือผมตอนนี้ผมเข้าใจการใช้ jsonมากขึ้นและคับ จากตอนแรกที่ไม่ค่อยรู้ ผมจะไปหาหนังสือมาอ่านเพิ่มเติมความรุ้นะครับ ขอบคุณที่ช่วยเหลือมาตลอดครับ


ตอบความคิดเห็นที่ : 42 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-12-04 07:44:14
รายละเอียดของการตอบ ::
ตอนแรก ผมไม่เข้าใจตรง ตัวชื่อobj ที่เก็บข้อมูลหลายๆตัวมาต้องเรียกออกมาอย่างไร ผมก็ลองเปิดเว็บและหนังสืออ่านมา แต่ก็ยังไม่เจอตัวอย่างที่สอนหน่ะคับ ผมก็เลยไม่เข้าใจว่า จะเรียกออกมาอย่างไหร ตอนนี้ผมเข้าใจแล้วครับ ว่าต้องเรียกอย่างไร ขอบคุณที่ช่วยเหลือคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 08:10:34 By : top113457
 


 

No. 44



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 43 เขียนโดย : top113457 เมื่อวันที่ 2014-12-04 08:10:34
รายละเอียดของการตอบ ::
ไม่เป็นไรครับ ดีใจที่บอกว่าจะหาหนังสือมาอ่าน
เพราะผมพยายามบอกหลายคนแล้วว่าควรศึกษาพื้นฐานจากหนังสือก่อน
แต่คนส่วนมากนิยมเอาโค้ดที่แจกๆ กันมาศึกษา โดยที่ยังไม่มีความรู้พื้นฐาน
เพราะอยากเริ่มเร็วๆ ซึ่งมันก็เร็วจริง ได้เห็นได้ทำสิ่งที่ต้องการในทันที
แต่ส่วนมากโค้ดเหล่านั้นไม่มี comment อธิบาย ถ้าจะแก้ไขเพิ่มเติม คนเอาไปศึกษาต้องลองผิดลองถูกล้วนๆ
จบลงที่ต้องมาถามกันในเว็บบอร์ด
และคำถามส่วนใหญ่ที่ตั้งๆ กัน คำตอบคำอธิบายมันมีอยู่ในหนังสือสอนพื้นฐานการเขียนโปรแกรมเกือบทุกเล่ม
ผลเสียคือเรียนรู้ได้ช้าเพราะขาดความเข้าใจ และต้องเสี่ยงด้วยว่าโค้ดที่ศึกษามันเขียนไว้ดีหรือเปล่า
เพราะถ้าไม่ดี คุณก็จะติดการเขียนรูปแบบนั้นไป

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 09:16:44 By : phpinfo()
 


 

No. 45



โพสกระทู้ ( 39 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 44 เขียนโดย : phpinfo() เมื่อวันที่ 2014-12-04 09:16:44
รายละเอียดของการตอบ ::
คับผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-04 19:45:35 By : top113457
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รับข้อมูลจาก Json มาแล้ว insert ลงเบส ค่าไม่เข้าเบส รบกวนทีครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่