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 or update ในรูปแแบบ multi insert



 

วิธีแช็คค่าจากฐานข้อมูลว่าค่าที่รับมาเป็น insert or update ในรูปแแบบ multi insert

 



Topic : 111763



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



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




โดยการรับค่ามันจะมีทั้งค่าที่ต้อง insert และ update พร้อมๆกัน
เราจะมีวีธีแยกมันอย่างไร

จากตัวอย่าง ถ้า username ซ้ำให้ update ถ้าไม่ซ้ำให้ insert

เช่น
Code (PHP)
for($i=0;$i<=count($_POST['recode']);$i++){
       $a[$i] = $_POST['username'][$i];
       $b[$i] = $_POST['password'][$i];


      if(){  //เงื่อนไขเช็คอย่างไร

          ##insert##
         }else{ 

         ##update##
}
}


ขอบคุณนะครับ

,



Tag : PHP, JavaScript









ประวัติการแก้ไข
2014-10-06 15:20:25
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-10-06 15:19:51 By : praphat_thekop View : 1020 Reply : 26
 

 

No. 1



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



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


Code (SQL)
select count(id) from table where user='".$_POST['username']."' and pass='".$_POST['password']."';







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 15:38:11 By : tam78910
 


 

No. 2



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



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


ไม่ต้อง where password ครับ
Code (SQL)
select count(id) from table where user='".$_POST['username']."' ;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 15:47:15 By : gaowteen
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-06 15:47:15
รายละเอียดของการตอบ ::
ช่วยเขียนเป็นเงื่อนไขได้มั้ยครับ
ผมอยากได้่ว่าตัวไหนที่มันเป็น insert และตัวไหนที่มันเป็น update อ่ะครับ
เพราะเรารับข้อมูลมาหลายค่า

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 15:53:22 By : praphat_thekop
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-06 15:47:15
รายละเอียดของการตอบ ::
แล้วถ้าเกิด user name ซ้ำกันละครับอันนี้ผมไม่ทราบจริงๆ ส่วนใหญ่ผมจะปล่อยให้ซ้ำได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:00:35 By : tam78910
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : praphat_thekop เมื่อวันที่ 2014-10-06 15:53:22
รายละเอียดของการตอบ ::
มี id= update ไม่มี id= insert
ผมว่าคุณควร ใช้สมองสักหน่อยครับครับ ไม่ใช่ถามก๊อบไปวางใช้ได้เลย เดี๋ยวจะลืมเอา จะกี่ค่าคุณเขียน loop เป็นผมว่ามันก็น่าจะได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:10:03 By : tam78910
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : tam78910 เมื่อวันที่ 2014-10-06 16:00:35
รายละเอียดของการตอบ ::
ปกติ user ต้องไม่ซ้ำครับ ถ้า user pass เหมือน กัน 2 คน แล้ว จะรู้ได้ไงว่าเป็น ใคร

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:18:19 By : gaowteen
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-06 16:18:19
รายละเอียดของการตอบ ::
ครับ ส่วนใหญ่ผมจะปล่อยให้มันซ้ำแล้ว จะเช็คเงื่อนไขโดยการเช็ค password ด้วยจะได้รู้ว่าคนไหน
มันมีข้อเสียยังไงบ้างครับ
1.เสียเวลาตอนเขียนเงื่อนไขเพิ่ม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:25:07 By : tam78910
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : tam78910 เมื่อวันที่ 2014-10-06 16:25:07
รายละเอียดของการตอบ ::
คือ username ยกเป็นตัวอย่างเฉยๆ พอให้เห็นภาพ ครับ
จริงๆมันจะเช็ค บัตรประชาชน
แล้วถ้าจะด่ากันถึงสมองรับกวนไม่ต้องตอบนะครับ
ขอบคุณ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:29:28 By : praphat_thekop
 


 

No. 9



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



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


ปกติมันไม่ซ้ำหรอกครับ user ถ้าเป็น โปรแกรมของ บริษัทเพราะ ใช้ user เป็นรหัสพนักงาน
แต่ถ้าเป็นเว็บใหญ่ใครตั้งuser อะไรก็ได้ เขาคงไม่ปล่อยให้ user ซ้ำแน่ครับ นะครับผมว่า
ส่วนข้อดีข้อเสีย ไม่รู้ครับ แต่แค่ไม่ให้ซ้ำก็น่าจะพอแล้วนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:31:07 By : gaowteen
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-06 16:31:07
รายละเอียดของการตอบ ::
ขอบคุณเครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:35:06 By : praphat_thekop
 


 

No. 11



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



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


ตัวอย่าง


$query = $db->query(" select count(*) from table where user='".$_POST['username']."' ")
$numrow = fetch numrow ออกมาแล้ว
if($numrow > 0){
update
}else{
insert
}
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:35:45 By : gaowteen
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-06 16:35:45
รายละเอียดของการตอบ ::
ให้ดูโค้ดแบบเต็มๆนะครับ
Code (PHP)
for($i=0;$i<=count($_POST['recode']);$i++){

                $population_id[$i] = $_POST['population_id'];
		$username[$i] = $_POST['username'];
		$password[$i] = $_POST['password'];

}
$sel =$con->prepare("SELECT count(population_id) FROM `member` WHERE `population_id` = '".$population_id[$i]."' ");
$sel->execute();
$num = $sel->rowCount();
if($num>0){
    
                  //เงื่อนไขรู้แล้วแต่ค่าที่ได้จะไปลง base ว่า ค่าไหนเป็ค่าอัพเดท หรื่อ insert
                 //เรา echo " $population_id[$i] " ;
                 //มันก็๋มหมดทุกตัวที่ส่งมาจาก form
}else{

//insert
}




ประวัติการแก้ไข
2014-10-06 16:50:36
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:46:42 By : praphat_thekop
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-06 16:31:07
รายละเอียดของการตอบ ::
OK ครับได้ข้อคิดขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 16:47:30 By : tam78910
 


 

No. 14



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



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


งง คำถาม
update table set field = $_POST['xxxx'] where user = $_POST['user']


ประวัติการแก้ไข
2014-10-06 17:18:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 17:18:24 By : gaowteen
 


 

No. 15



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



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


สมมุติว่า เรารับค่ามา

ชุดที่ 1
ีpopulation_id[1] =123456789
username[1]= testuser1
password[1]= pass1

ชุดที่ 2
ีpopulation_id[2] =987654321
username[2]= testuser2
password[2]= pass2


ชุดที่ 3
ีpopulation_id[3] =4545454455
username[3]= testuser3
password[3]= pass3

และทั้งหมดมาหร้อมกันในรูปแบบของ array

แล้วถ้าในฐานข้อมูลมีค่า ี population_id=987654321 ชุดที่สองจะซ้ำถูกป่าวครับ

คื่อเราจะเหงื่อนไขอย่างไรให้มัน echo ค่าออกมาจากตัวแปรทั้งสามตัว

เช่น
Code (PHP)
if(){
//updatre
    echo  population_id[$i]    //มันต้องเท่ากับ  987654321

}else{
//insert
   echo  population_id[$i]    //ต้องได้ค่าเป็น 123456789 ,4545454455

}



ประวัติการแก้ไข
2014-10-06 17:40:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 17:40:23 By : praphat_thekop
 


 

No. 16

Guest


ถูกของ ljfeinthedeep ครับ ผมชอบคำตอบของคุณมาก

ผมชอบคนกล้า


จขกท.ไม่มีสมองจริงๆ เพราะทั้งหมดทั้งปวงมันง่ายนิดเดียว


คุณอาจจะมองว่าเขาด่า แต่วันหน้าคุณจะขอบคุณเขา (และผม)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 17:45:36 By : -
 


 

No. 17



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



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


ตอบความคิดเห็นที่ : 16 เขียนโดย : - เมื่อวันที่ 2014-10-06 17:45:36
รายละเอียดของการตอบ ::
ครับผมไม่ได้มีจุดประสงค์ที่จะด่าหรอกครับ คำพูดผมอาจจะแรงไปหน่อยถ้าไปกระทบคุณตรงๆ
แต่เราต้องใช้ความพยายามของเราเพื่อให้ได้สิ่งที่เราต้องการ สิ่งนั้นจะยั่งยืน
แต่ถ้าคุณยืมจมูกคนอื่นหายใจเลยซะทีเดียวมันก็อยู่ได้ไม่นานหรอกครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 17:54:49 By : tam78910
 


 

No. 18



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



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


แบบนี้ ป่าว แค่ย้ายไป อยู่ ใน for ไง
Code (PHP)
for($i=0;$i<=count($_POST['recode']);$i++){

                $population_id[$i] = $_POST['population_id'];
		$username[$i] = $_POST['username'];
		$password[$i] = $_POST['password'];


$sel =$con->prepare("SELECT count(population_id) FROM `member` WHERE `population_id` = '".$population_id[$i]."' ");
$sel->execute();
$num = $sel->rowCount();
if($num>0){
    
       echo  population_id[$i]
}else{

       echo  population_id[$i]
}



}



ประวัติการแก้ไข
2014-10-06 17:55:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 17:55:04 By : gaowteen
 


 

No. 19



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



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


คนก็รู้ก็ถามมันก็ถูก ละ จะได้พัฒนาไวๆไปหาเองกว่าจะเจอ แต่ถามแล้วต้องคิดตามด้วย มันจะได้เข้าใจ ลอกการบ้านไม่ใช่เรื่องผิดแต่ต้องรู้ด้วยว่าที่มาของมันมายังไง
ท่องจำเพื่อให้เข้าใจไม่ใช่ท่องจำเพื่อให้จำได้ 55555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 18:01:09 By : gaowteen
 


 

No. 20



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



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


ตอบความคิดเห็นที่ : 18 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-06 17:55:04
รายละเอียดของการตอบ ::
ไม่ออกครับ
มันออกทั้งหมดใน update

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 18:02:16 By : praphat_thekop
 


 

No. 21



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : tam78910 เมื่อวันที่ 2014-10-06 17:54:49
รายละเอียดของการตอบ ::
ขอบคุณทุกคนที่ช่วยและอยากช่วย
ผมลองมาหมดทุกอย่างที่ผมพอจะทำได้แล้ว (สิ่งที่พวกคุณบอกผมทำมันหมดแล้วอย่าได้ไอเดีย ไม่ได้อยากได้โค้ด )
เรื่องโค้ดผมไม่ก๊อบปี้ไปแน่นอน
เพราะโค้ดจริงๆมันยากกว่านี้มาก
แค่อยากยกตัวอย่างก็กายเป็โดนว่าไม่มีสมองสะงั้น
โอ้วว พวกคุณเก่งกันรับกวนไม่ต้องตอบบกระทู้ผมนะ
ผมอยากได้คนที่มีใจเป็นโปรแกรมเมอร์เสนอแนวทางไม่ดูถูกคนอื่น
ขอบคุณ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 18:06:37 By : praphat_thekop
 


 

No. 22



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



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


ลอง echo $num
ออกมาดู ถ้ามันได้มากกว่า 0 ก็ลองไปดูใน base ว่ามีข้องมูล id นี้หรือป่าว ถุ้า ไม่มีก็ น่าจะเป็นการ query ผ่าน class แหละครับ คงผิกสักที่


ประวัติการแก้ไข
2014-10-06 18:16:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 18:15:24 By : gaowteen
 


 

No. 23



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



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


ีuser ห้ามซ้ำ กำหนดเป็น unique
Code (PHP)
$mysql=new mysqli( 'localhost', 'test',test',test');
if($rs=$mysql->query( "insert into table set recode='newcode', user='blabla' ")){
  echo 'This statement can insert and insert_id=' , $mysql->insert_id;
}else{
   if($rs=$mysql->query("update table set recode='newcode' where user='blabla' ")){
      echo 'This statement is not error and affected_rows=', $mysql->affected_rows;
  }else echo $mysql->error;
}


เมื่อ user เป็น unique แล้วทำการ insert
ถ้าไม่ซ้ำ ก็ insert ได้ ไม่แจ้ง error ออกมา
เมื่อมี error ก็แสดงว่า user ซ้ำ ก็ให้ทำการ update
จบกระบวนการ


ประวัติการแก้ไข
2014-10-06 18:20:41
2014-10-06 18:21:16
2014-10-06 18:53:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 18:19:55 By : Chaidhanan
 


 

No. 24



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



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


ตอบความคิดเห็นที่ : 21 เขียนโดย : praphat_thekop เมื่อวันที่ 2014-10-06 18:06:37
รายละเอียดของการตอบ ::
ขอโทษละกันครับ ผมก็ไม่ได้เก่งหรอกครับ และไม่ได้มีจุดประสงค์ที่จะดูถูกหรอก

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-06 18:30:56 By : tam78910
 


 

No. 25



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



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


ตอบความคิดเห็นที่ : 23 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-10-06 18:19:55
รายละเอียดของการตอบ ::
จะลองทำดูนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-07 09:53:32 By : praphat_thekop
 


 

No. 26



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



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


ตอบความคิดเห็นที่ : 23 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-10-06 18:19:55
รายละเอียดของการตอบ ::
ok ครับได้แล้วครับขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-07 10:41:31 By : praphat_thekop
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : วิธีแช็คค่าจากฐานข้อมูลว่าค่าที่รับมาเป็น insert or update ในรูปแแบบ multi 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 04
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 อัตราราคา คลิกที่นี่