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,027

HOME > PHP > PHP Forum > สอบถามเรื่องการ Insert กับ Update พร้อมกัน ครับ



 

สอบถามเรื่องการ Insert กับ Update พร้อมกัน ครับ

 



Topic : 117886



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



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




รูปที่1คือตาราง Interment ส่วนนี้ผมทำการ insertได้แล้วครับ
แต่ตอน insert ผมต้องการให้ Update เฉพาะชื่อฟิลด์ status ของแต่ละ m_id ที่มีข้อมูลอยู่ในทั้ง 2 ตารางที่ต้องการ Update คือตาราง member กับ deposit
ช่วยแนะนำผมด้วยครับ ต้องเขียน code ยังไง
นั่งเขียนตั้งนานก็ยังไม่ได้


11



รูปที่2 คือตาราง member
22



รูปที่3 คือตาราง deposit
33


Code (PHP)
<?php require_once('Connections/satcha.php'); ?>
<?php
header("Content-type: text/html; charset=utf-8");
date_default_timezone_set('Asia/Bangkok');
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
$now = date('d-m-') . (date('Y')+543);
$time = date('G:i:s');
$new_id = mysql_result(mysql_query("Select Max(substr(im_id,-8))+1 as MaxID from  interment"),0,"MaxID");//เลือกเอาค่า id ที่มากที่สุดในฐานข้อมูลและบวก 1 เข้าไปด้วยเลย
            if($new_id==''){ // ถ้าได้เป็นค่าว่าง หรือ null ก็แสดงว่ายังไม่มีข้อมูลในฐานข้อมูล
                $im_id="IM00000001";
            }else{
                $im_id="IM".sprintf("%08d",$new_id);//ถ้าไม่ใช่ค่าว่าง
            }
	if(move_uploaded_file($_FILES["im_pic"]["tmp_name"],"death_certificate/".$_FILES["im_pic"]["name"])) // death_certificate คือ โฟลเดอร์เก็บใบรับรองแพทย์
	{

		$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
		$objDB = mysql_select_db("satcha");
		
		$sql = "SELECT * FROM interment where m_id='$m_id'";
		$db_query = mysql_query($sql); 
		$num_rows = mysql_num_rows($db_query); 
		
		if($num_rows == 0){
		
		$status = "เสียชีวิต";
		$insertSQL = sprintf("INSERT INTO interment (im_id, m_id, im_deaddate, im_money, im_paydate, im_pic, status) VALUES ('$im_id', '$m_id','$im_paydate', '$im_money','$now ,$time', '".$_FILES["im_pic"]["name"]."','$status')");
		$objQuery = mysql_query($strSQL);
		
			}else{
			
			echo "<script>alert('ไม่สามารถบันทึกข้อมูลซ้ำได้ รหัสสมาชิกนี้ได้เสียชีวิตไปแล้ว..')</script>";
			echo "<script>history.back()</script>";

		}	
	
		
	
	}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {



  mysql_select_db($database_satcha, $satcha);
  $Result1 = mysql_query($insertSQL, $satcha) or die(mysql_error());

  $insertGoTo = "interment_correct.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

?>





Tag : PHP, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-18 01:11:38 By : Alzheimertzz View : 1997 Reply : 9
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

Quote:
$insertSQL = sprintf("INSERT INTO interment (im_id, m_id, im_deaddate, im_money, im_paydate, im_pic, status) VALUES ('$im_id', '$m_id','$im_paydate', '$im_money','$now ,$time', '".$_FILES["im_pic"]["name"]."','$status')");
$objQuery = mysql_query($strSQL);


ลองดูครับ ตัวแปรไม่ตรง ส่วนจะ Update อะไรก็เขียน Query ขึ้นมาอีกชุดครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 11:18:22 By : mr.win
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2015-07-18 11:18:22
รายละเอียดของการตอบ ::
ตรงส่วนนี้ผมทำได้แล้วครับ
แต่ผมเขียนcode คิวรี่ Update ไม่ค่อยเข้าใจ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 11:23:29 By : Alzheimertzz
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

=> SQL UPDATE
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 11:25:11 By : mr.win
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.win เมื่อวันที่ 2015-07-18 11:25:11
รายละเอียดของการตอบ ::
แบบนี้ถูกไหมครับพี่วิน
ลองแล้วนะ แต่มันไม่ได้


Code (PHP)
$status = "เสียชีวิต";
		$insertSQL = sprintf("INSERT INTO interment (im_id, m_id, im_deaddate, im_money, im_paydate, im_pic, status) VALUES ('$im_id', '$m_id','$im_paydate', '$im_money','$now ,$time', '".$_FILES["im_pic"]["name"]."','$status')");
		$objQuery = mysql_query($strSQL);
		
		 $updateSQL1 = sprintf("UPDATE member SET  status = $status WHERE m_id = $m_id");
		 $Result1 = mysql_query($updateSQL1, $satcha) or die(mysql_error());
 		 
		 $updateSQL2 = sprintf("UPDATE deposit SET  status = $status WHERE m_id = $m_id");
		$Result1 = mysql_query($updateSQL2, $satcha) or die(mysql_error());
  		 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 11:42:21 By : Alzheimertzz
 


 

No. 5



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



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

จะทำทีละตารางก็ได้ครับ แต่ลองแบบคิวรี่ ทีเดียว ทั้งสองตารางดูครับ

Code (SQL)
update member m 
inner join deposit d 
using(m_id) 
set m.status='$status', d.status='$status' 
where m.m_id='$m_id'

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 12:08:59 By : NewbiePHP
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-07-18 12:08:59
รายละเอียดของการตอบ ::
ได้แล้วนะครับ ขอบคุณมาก ๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 12:31:21 By : Alzheimertzz
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-07-18 12:08:59
รายละเอียดของการตอบ ::
ขอถามอีกนิกนะครับ
จะเพิ่มการ update เป็น ตาราง ผมเขียนแบบนี้มันไม่ออก


Code (PHP)
$updateSQL = sprintf ("update member m 
			inner join deposit d 
			inner join deposit order_deposit o 
			using(m_id) 
			set m.status='$status',m.m_expdate = '$now' , d.status='$status' , d.d_expdate='$now' ,o.status='$status'
			where m.m_id='$m_id' ");

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 17:44:50 By : Alzheimertzz
 


 

No. 8



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



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

inner join deposit[]order_deposit o
บันทัดข้างบน สีแดง ไม่ควรเป็นวรรค ควรเป็น เส้นใต้ หรือ ติดกัน เพื่อบ่งบอกว่าเป็นชื่อเดียวกัน
ถ้าเป็น วรรค มันจะผิด ไวยกรณ์
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-18 18:09:24 By : NewbiePHP
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 10:15:10 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการ Insert กับ Update พร้อมกัน ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่