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 > รวบกวนช่วยดู โค้ดเพิ่มแบบมีเงื่อนไข เมื่อเพิ่มข้อมูลสถานะจะเป็น y ค่ะ



 

รวบกวนช่วยดู โค้ดเพิ่มแบบมีเงื่อนไข เมื่อเพิ่มข้อมูลสถานะจะเป็น y ค่ะ

 



Topic : 126505



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



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




รวบกวนช่วยดู โค้ดเพิ่มแบบมีเงื่อนไข(2ตาราง contract กับ append) เมื่อเพิ่มข้อมูลสถานะเอกสาร ฟิล show จะเป็น y ค่ะ

โค้ดตอนนี้เป็นแบบนี้อยู่ค่ะ ไม่ทราบว่าต้องเพิ่มโค้ดเงื่อนไขตรงไหนคะ??

Code (PHP)
<?php
 include("db/connect.php");//เรียกใช้ไฟล์connect.php

    $str="INSERT INTO contract (contract_id, contract_num , date_con_up, contract_name , contract_file , con_description , p_id)";
	$str.=" VALUE ('$contract_id ', '$contract_num ',  ' $date_con_up ',  '$contract_name ',  ' $contract_file ',  '$con_description ', '$p_id')";
	mysql_query($str);
	$contract_id = mysql_insert_id();//คำสั่งให้ FK อ้างถึงกันในกรณี id เป็น Auto
	$str2="INSERT INTO  append (append_name ,append_file ,date_app_up ,p_id ,contract_id) ";
	$str2.="VALUES ('$append_name ',  '$append_file ',  '$date_app_up ', '$p_id' , '$contract_id ')";
	mysql_query($str2);

	echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
    echo "<meta http-equiv ='refresh'content='0;URL=show_contract.php'>";
	?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-02-21 11:46:22 By : nachon View : 939 Reply : 18
 

 

No. 1



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



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


ไม่ทราบว่าฟิลด์ show อยู่ที่ตารางไหนครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 12:50:03 By : tomrambo
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 12:50:03
รายละเอียดของการตอบ ::
show อยู่ทั้ง 2 ตารางเลยค่ะ
ตาราง contract มี contract_id เป็น PK และเป็น FK ในตาราง append ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 12:57:00 By : nachon
 

 

No. 3



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



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


<?php
 include("db/connect.php");//เรียกใช้ไฟล์connect.php

    $str="INSERT INTO contract (contract_id, contract_num , date_con_up, contract_name , contract_file , con_description , p_id, show)";
	$str.=" VALUE ('$contract_id ', '$contract_num ',  ' $date_con_up ',  '$contract_name ',  ' $contract_file ',  '$con_description ', '$p_id', 'y')";
	mysql_query($str);
	$contract_id = mysql_insert_id();//คำสั่งให้ FK อ้างถึงกันในกรณี id เป็น Auto
	$str2="INSERT INTO  append (append_name ,append_file ,date_app_up ,p_id ,contract_id, show) ";
	$str2.="VALUES ('$append_name ',  '$append_file ',  '$date_app_up ', '$p_id' , '$contract_id ', 'y')";
	mysql_query($str2);

	echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
    echo "<meta http-equiv ='refresh'content='0;URL=show_contract.php'>";
	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 13:06:35 By : tomrambo
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 13:06:35
รายละเอียดของการตอบ ::
มันขึ้นบอกว่าเพิ่มข้อมูลเรียบร้อยแล้ว แต่พอไปดูในฐานข้อมูลไม่มีค่ะ มันไม่เห็บข้อมูลที่เพิ่ม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 13:11:50 By : nachon
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : nachon เมื่อวันที่ 2017-02-21 13:11:50
รายละเอียดของการตอบ ::
ไม่มีข้อมูลทุกฟิลด์เลยหรือเปล่าครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 13:20:30 By : tomrambo
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 13:20:30
รายละเอียดของการตอบ ::
ใช่ค่ะ ไม่เก็บเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 13:21:06 By : nachon
 


 

No. 7



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



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


ลองดูใหม่ครับ

<?php
 include("db/connect.php");//เรียกใช้ไฟล์connect.php

	mysql_query("START TRANSACTION");

  $str = "INSERT INTO contract (contract_id, contract_num , date_con_up, contract_name, contract_file, con_description, p_id, show)";
	$str .= " VALUES ('".$contract_id."', '".$contract_num."', '".$date_con_up."', '".$contract_name."', '".$contract_fil."', '".$con_description."', '".$p_id."', 'y')";
	$query1 = mysql_query($str) or die(mysql_error()." ".$str);
	$contract_id = mysql_insert_id();//คำสั่งให้ FK อ้างถึงกันในกรณี id เป็น Auto
	$str2 = "INSERT INTO  append (append_name, append_file, date_app_up, p_id, contract_id, show)";
	$str2 .= " VALUES ('".$append_name."', '".$append_file."', '".$date_app_up."', '".$p_id."', '".$contract_id."', 'y')";
	$query2 = mysql_query($str2) or die(mysql_error()." ".$str2);
	
if(!$query1 || !!$query2){
	mysql_query("ROLLBACK");
	echo "Insert ข้อมูลล้มเหลว";
} else {
	mysql_query("COMMIT");
	echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
  echo "<meta http-equiv ='refresh'content='0;URL=show_contract.php'>";
}
	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 13:49:50 By : tomrambo
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 13:49:50
รายละเอียดของการตอบ ::
มันแจ้ง error ค่ะ

Notice: Undefined variable: contract_id in C:\AppServ\www\systemdoc\check_con.php on line 6

Notice: Undefined variable: contract_file in C:\AppServ\www\systemdoc\check_con.php on line 6
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show) VALUES ('', '111', '2017-02-21', 'zzz', '', 'zzz', '1', 'y')' at line 1 INSERT INTO contract (contract_id, contract_num , date_con_up, contract_name, contract_file, con_description, p_id, show) VALUES ('', '111', '2017-02-21', 'zzz', '', 'zzz', '1', 'y')

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 13:53:50 By : nachon
 


 

No. 9



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



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


contract_id เป็น PK ใช่มั๊ยครับ งั้นต้องเอาออก

<?php
 include("db/connect.php");//เรียกใช้ไฟล์connect.php

	mysql_query("START TRANSACTION");

  $str = "INSERT INTO contract (contract_num, date_con_up, contract_name, contract_file, con_description, p_id, show)";
	$str .= " VALUES ('".$contract_num."', '".$date_con_up."', '".$contract_name."', '".$contract_file."', '".$con_description."', '".$p_id."', 'y')";
	$query1 = mysql_query($str) or die(mysql_error()." ".$str);
	$contract_id = mysql_insert_id();//คำสั่งให้ FK อ้างถึงกันในกรณี id เป็น Auto
	$str2 = "INSERT INTO  append (append_name, append_file, date_app_up, p_id, contract_id, show)";
	$str2 .= " VALUES ('".$append_name."', '".$append_file."', '".$date_app_up."', '".$p_id."', '".$contract_id."', 'y')";
	$query2 = mysql_query($str2) or die(mysql_error()." ".$str2);
	
if(!$query1 || !!$query2){
	mysql_query("ROLLBACK");
	echo "Insert ข้อมูลล้มเหลว";
} else {
	mysql_query("COMMIT");
	echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
  echo "<meta http-equiv ='refresh'content='0;URL=show_contract.php'>";
}
	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 14:03:04 By : tomrambo
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 14:03:04
รายละเอียดของการตอบ ::
contract_id เป็น PK ของตาราง contract ค่ะ
มันแจ้ง error แบบนี้ค่ะ
Notice: Undefined variable: contract_file in C:\AppServ\www\systemdoc\check_con.php on line 7
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show) VALUES ('111', '2017-02-21', 'zzz', '', 'zzz', '1', 'y')' at line 1 INSERT INTO contract (contract_num, date_con_up, contract_name, contract_file, con_description, p_id, show) VALUES ('111', '2017-02-21', 'zzz', '', 'zzz', '1', 'y')

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 14:26:54 By : nachon
 


 

No. 11



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



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


ลองแบบนี้ผ่านมั๊ยครับ

<?php
 include("db/connect.php");//เรียกใช้ไฟล์connect.php

	mysql_query("START TRANSACTION");

  $str = "INSERT INTO contract (contract_num, date_con_up, contract_name, contract_file, con_description, p_id, show)";
	$str .= " VALUES ('".$contract_num."', '".$date_con_up."', '".$contract_name."', 'test', '".$con_description."', '".$p_id."', 'y')";
	$query1 = mysql_query($str) or die(mysql_error()." ".$str);
	$contract_id = mysql_insert_id();//คำสั่งให้ FK อ้างถึงกันในกรณี id เป็น Auto
	$str2 = "INSERT INTO  append (append_name, append_file, date_app_up, p_id, contract_id, show)";
	$str2 .= " VALUES ('".$append_name."', '".$append_file."', '".$date_app_up."', '".$p_id."', '".$contract_id."', 'y')";
	$query2 = mysql_query($str2) or die(mysql_error()." ".$str2);
	
if(!$query1 || !!$query2){
	mysql_query("ROLLBACK");
	echo "Insert ข้อมูลล้มเหลว";
} else {
	mysql_query("COMMIT");
	echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
  echo "<meta http-equiv ='refresh'content='0;URL=show_contract.php'>";
}
	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 14:37:20 By : tomrambo
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 14:37:20
รายละเอียดของการตอบ ::
รอบนี้มันขึ้นแบบนี้ค่ะ
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show) VALUES ('222', '2017-02-21', 'Test123', 'test', 'โหลๆๆ เทส' at line 1 INSERT INTO contract (contract_num, date_con_up, contract_name, contract_file, con_description, p_id, show) VALUES ('222', '2017-02-21', 'Test123', 'test', 'โหลๆๆ เทสๆๆ', '1', 'y')

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 14:39:31 By : nachon
 


 

No. 13



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



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


ลองแบบนี้ดูได้เปล่าครับ

<?php
 include("db/connect.php");//เรียกใช้ไฟล์connect.php

	mysql_query("START TRANSACTION");

  $str = "INSERT INTO contract (`contract_num`, `date_con_up`, `contract_name`, `contract_file`, `con_description`, `p_id`, `show`)";
	$str .= " VALUES ('".$contract_num."', '".$date_con_up."', '".$contract_name."', 'test', '".$con_description."', '".$p_id."', 'y')";
	$query1 = mysql_query($str) or die(mysql_error()." ".$str);
	$contract_id = mysql_insert_id();//คำสั่งให้ FK อ้างถึงกันในกรณี id เป็น Auto
	$str2 = "INSERT INTO  append (`append_name`, `append_file`, `date_app_up`, `p_id`, `contract_id`, `show`)";
	$str2 .= " VALUES ('".$append_name."', '".$append_file."', '".$date_app_up."', '".$p_id."', '".$contract_id."', 'y')";
	$query2 = mysql_query($str2) or die(mysql_error()." ".$str2);
	
if(!$query1 || !!$query2){
	mysql_query("ROLLBACK");
	echo "Insert ข้อมูลล้มเหลว";
} else {
	mysql_query("COMMIT");
	echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
  echo "<meta http-equiv ='refresh'content='0;URL=show_contract.php'>";
}
	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 15:03:05 By : tomrambo
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 15:03:05
รายละเอียดของการตอบ ::
Insert ข้อมูลล้มเหลว ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 15:08:36 By : nachon
 


 

No. 15



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



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


อ้อ ใส่ ! เกินมาตัวนึงครับ โทดทีครับ คราวนี้น่าจะผ่านแล้วล่ะ

if(!$query1 || !$query2)


แต่ทีนี้มาดูตัวแปร $contract_file ครับ ว่าส่งค่าอะไรมาครับ


ประวัติการแก้ไข
2017-02-21 15:16:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 15:16:05 By : tomrambo
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 15:16:05
รายละเอียดของการตอบ ::
ได้แล้วค่ะ ลองเขียนแบบนี้ไปค่ะ ใช่ได้เหมือนกันใช่ไหมคะ??
Code (PHP)
<?php
 include("db/connect.php");//เรียกใช้ไฟล์connect.php
	
    $str="INSERT INTO contract (contract_id, contract_num , date_con_up, contract_name , contract_file , con_description , p_id, `show`)";
	$str.=" VALUE ('$contract_id ', '$contract_num ',  ' $date_con_up ',  '$contract_name ',  ' $contract_file ',  '$con_description ', '$p_id', 'y')";
	mysql_query($str);
	$contract_id = mysql_insert_id();//คำสั่งให้ FK อ้างถึงกันในกรณี id เป็น Auto
	$str2="INSERT INTO  append (append_name ,append_file ,date_app_up ,p_id ,contract_id, `show`) ";
	$str2.="VALUES ('$append_name ',  '$append_file ',  '$date_app_up ', '$p_id' , '$contract_id', 'y')";
	mysql_query($str2);

	echo "<script type='text/javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";
    echo "<meta http-equiv ='refresh'content='0;URL=show_contract.php'>";
	?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 15:19:55 By : nachon
 


 

No. 17



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



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


ใช้ได้มันก็ใช้ได้ครับ แต่ที่เขียนแบบผมเขียน ป้องกันการ Error ระหว่าง Process น่ะครับ ถ้าเกิด Error mysql จะ cancel transaction

ทั้งหมดเลยครับ ถ้าจะรัดกุมก็ควรจะเขียนแบบผมนะครับ ป้องกันการผิดพลาดครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 15:26:59 By : tomrambo
 


 

No. 18



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : tomrambo เมื่อวันที่ 2017-02-21 15:26:59
รายละเอียดของการตอบ ::
อ้อ ขอบคุณมากกค่ะ เข้าใจแล้วค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-21 15:30:32 By : nachon
 

   

ค้นหาข้อมูล


   
 

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