ขอสอบถามเกี่ยวกับ UPDATE ครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ขอสอบถามเกี่ยวกับ UPDATE ครับ

ขอสอบถามเกี่ยวกับ UPDATE ครับ

คือผมต้องการให้ update ไปลงอีก table ซึงมีเงื่อนไขประมาณนี้ ถ้าเป็นเดือนมกราคม ก็คือ 01 กุมภา 02 ประมาณนี้ 
ถ้าเป็น 01 ก็ให้มัน update ลงไปในช่อง daysum1,salary1 ถ้าเป็น 02 ก็ลง daysum2,salary2 ประมาณนี้นะครับ
อันนี้ตัวอย่างโค้ดที่ผมทำซึ่งมันไม่ยอมไปลงตามที่ต้องการ

 


include('connect.php');
$strSQL = "INSERT INTO calculation ";
$strSQL .="(`id`,`id_em`,`name`,`tel`,`level`,`kr_deteil`,`ra_s`,`day_cal`,`salary`,`salary_tax`,`salary_f`) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["id"]."','".$_POST["id_em"]."','".$_POST["name"]."','".$_POST["tel"]."' ";
$strSQL .=",'".$_POST["level"]."','".$_POST["kr"]."','".$_POST["ra"]."','".$_POST["textdate"]."','".$_POST["money"]."','".$_POST["tax"]."','".$_POST["money_f"]."' ) ";
$objQuery = mysql_query($strSQL);

$taxd = $_POST["textdate"];
$sala = $_POST["money_f"];
$m1 = 01-2017;
$m2 = 02-2017;
$m3 = 03-2017;
$m4 = 04-2017;
$m5 = 05-2017;
$m6 = 06-2017;
$m7 = 07-2017;
$m8 = 08-2017;
$m9 = 09-2017;
$m10 = 10-2017;
$m11 = 11-2017;
$m12 = 12-2017;

	//WHERE  id = '$_POST[id]'";
	if ($taxd = $m1) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum1 = '$_POST[textdate]',
	 salary1 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m2) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum2 = '$_POST[textdate]',
	 salary2 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m3) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum2 = '$_POST[textdate]',
	 salary2 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd = $m4) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum1 = '$_POST[textdate]',
	 salary1 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m5) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum2 = '$_POST[textdate]',
	 salary2 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m6) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum3 = '$_POST[textdate]',
	 salary3 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd = $m7) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum1 = '$_POST[textdate]',
	 salary1 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m8) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum2 = '$_POST[textdate]',
	 salary2 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m9) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum3 = '$_POST[textdate]',
	 salary3 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd = $m10) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum1 = '$_POST[textdate]',
	 salary1 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m11) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum2 = '$_POST[textdate]',
	 salary2 = '$sala'
	 WHERE  id = '$_POST[id]'";
	}
	if ($taxd =$m12) {
	$strSQL ="";
	$strSQL ="UPDATE  tax_all SET 
     id_em = '$_POST[id_em]',
     name = '$_POST[name]',
	 daysum3 = '$_POST[textdate]',
	 salary3 = '$sala'
	 WHERE  id = '$_POST[id]'";
	$objQuery ="";
	$objQuery = mysql_query($strSQL);
	}


Manit500 101.51.53.xxx 25-03-2017 21:27:14

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
อันข้างบน daysum,salary ซั้มกันอันนี้แก้แล้ว แต่ยังไม่ได้ 

if ($taxd = $m1) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum1` = '$_POST[textdate]',
	 `salary1` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m2) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum2` = '$_POST[textdate]',
	 `salary2` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m3) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum3` = '$_POST[textdate]',
	 `salary3` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m4) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum4` = '$_POST[textdate]',
	 `salary4` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m5) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum5` = '$_POST[textdate]',
	 `salary5` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m6) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum6` = '$_POST[textdate]',
	 `salary6` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m7) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum7` = '$_POST[textdate]',
	 `salary7` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m8) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name`= '$_POST[name]',
	 `daysum8` = '$_POST[textdate]',
	 `salary8` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m9) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum9` = '$_POST[textdate]',
	 `salary9` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m10) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum10` = '$_POST[textdate]',
	 `salary10` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m11) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum11` = '$_POST[textdate]',
	 `salary11` = '$sala'
	 WHERE `id` = '$_POST[id]'";
	}
	if ($taxd = $m12) {
	$strSQL ="UPDATE  tax_all SET 
     `id_em` = '$_POST[id_em]',
     `name` = '$_POST[name]',
	 `daysum12` = '$_POST[textdate]',
	 `salary12` = '$sala'
	 WHERE  `id` = '$_POST[id]'";
	}


manit500 101.51.53.xxx 25-03-2017 23:21
 ความคิดเห็นที่ 2
วิธีการกำหนดคำสั่ง SQL แนะนำใช้เป็นแบบนี้แทน การต่อตัวแปร
 
$sql = "
// คำสั่ง sql หลายบรรทัดได้
";
 
การกำหนดค่าตัวแปรลักษณะนี้
 
$m1 = 01-2017;
echo $m1;
 
ค่า $m1 จะเป็นการลบค่ากัน ค่าตัวแปร $m1 จะกลายเป็น
-2017 ไม่ใช่ค่าที่ต้องการ ศึกษาเรื่องประเภทตัวแปรใน php 
เบื้องต้นเพิ่มเติม http://php.net/manual/en/language.types.php
 
ควรใช้เป็น $m1 = "01-2017";
 
 
if ($taxd = $m1) {
 
การเทียบค่าตัวแปรใช้รูปแบบไม่ถูกต้อง การเทียบค่าต้องใช้ ==  
ควรเป็น
 
if ($taxd == $m1) {
 
พื้นฐานเกี่ยวกับการเทียบค่าตัวแปร แนะนำศึกษาเพิ่มเติม 
Operators -> Logical Operators
 
ส่วนรูปแบบการบันทึก ใช้วิธีการนี้แทนการใช้ if ได้ ใช้คำสั่ง
SQL ตัวเดียว เปลี่ยนฟิลด์บันทึกตามเงื่อนไขเดือนที่ส่งมา
 
<?php
#require_once("inc/dbconnect.php");

$taxd = $_POST["textdate"];
$sala = $_POST["money_f"];
#$taxd = "1-2017";
list($taxid_m,$taxid_y) = explode("-",$taxd);
echo $taxid_m;

$sql = "
UPDATE  tax_all SET 
     `id_em` = '".$_POST['id_em']."',
     `name` = '".$_POST['name']."',
     `daysum$taxid_m` = '".$_POST['textdate'].",
     `salary$taxid_m` = '$sala'
     WHERE  `id` = '".$_POST['id']."'
";

echo $sql;
?>

 


ninenik 1.47.203.xxx 26-03-2017
 ความคิดเห็นที่ 3
ผมลอง 
$sql = "UPDATE  tax_all SET 
     daysum$taxid_m = '$taxd',
	 salary$taxid_m = '$sala',
	 WHERE  id = '$id'";
    mysql_query($sql);

แต่มันไม่ยอมลงฐานให้ผมมันขึ้น error Error Save [UPDATE tax_all SET daysum03 = '2017-03-17', salary03 = '23750 บาท', WHERE id = 'oosmosis'] แบบนี้ครับ


manit500 182.53.56.xxx 26-03-2017 22:51
 ความคิดเห็นที่ 4
คำสั่ง SQL ผิดพลากหรือปล่าว 
 
บาท', WHERE id   เครื่อง (,) จะต้องไม่มีก่อนคำสั่ง WHERE
คำสั่งควรเป็น
 
UPDATE tax_all SET 
daysum03 = '2017-03-17', 
salary03 = '23750 บาท'
WHERE id = 'oosmosis'


ninenik 1.46.73.xxx 26-03-2017
 ความคิดเห็นที่ 5
ใช่เลยพึงสังเกตุเห็น ขอบคุณมากๆเลยครับ ถ้าไม่ได้พี่นี่โปรเจคจบคงจะอีกยาวไกล 


manit500 182.53.56.xxx 26-03-2017 23:30
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ