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

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

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

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

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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 25-03-2017 21:27:14

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

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


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


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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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 25-03-2017 23:21
 ความคิดเห็นที่ 2
วิธีการกำหนดคำสั่ง SQL แนะนำใช้เป็นแบบนี้แทน การต่อตัวแปร
 
1
2
3
$sql = "
// คำสั่ง sql หลายบรรทัดได้
";
 
การกำหนดค่าตัวแปรลักษณะนี้
 
1
2
$m1 = 01-2017;
echo $m1;
 
ค่า $m1 จะเป็นการลบค่ากัน ค่าตัวแปร $m1 จะกลายเป็น
-2017 ไม่ใช่ค่าที่ต้องการ ศึกษาเรื่องประเภทตัวแปรใน php 
เบื้องต้นเพิ่มเติม http://php.net/manual/en/language.types.php
 
ควรใช้เป็น $m1 = "01-2017";
 
 
1
if ($taxd = $m1) {
 
การเทียบค่าตัวแปรใช้รูปแบบไม่ถูกต้อง การเทียบค่าต้องใช้ ==  
ควรเป็น
 
1
if ($taxd == $m1) {
 
พื้นฐานเกี่ยวกับการเทียบค่าตัวแปร แนะนำศึกษาเพิ่มเติม 
Operators -> Logical Operators
 
ส่วนรูปแบบการบันทึก ใช้วิธีการนี้แทนการใช้ if ได้ ใช้คำสั่ง
SQL ตัวเดียว เปลี่ยนฟิลด์บันทึกตามเงื่อนไขเดือนที่ส่งมา
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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 26-03-2017
 ความคิดเห็นที่ 3
ผมลอง 
1
2
3
4
5
$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 26-03-2017 22:51
 ความคิดเห็นที่ 4
คำสั่ง SQL ผิดพลากหรือปล่าว 
 
บาท', WHERE id   เครื่อง (,) จะต้องไม่มีก่อนคำสั่ง WHERE
คำสั่งควรเป็น
 
1
2
3
4
UPDATE tax_all SET
daysum03 = '2017-03-17',
salary03 = '23750 บาท'
WHERE id = 'oosmosis'


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


manit500 26-03-2017 23:30
1






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