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

HOME > PHP > PHP Forum > วิธีเช็คไม่ให้เพิ่มข้อมูลซ้ำลงในตารางดาต้าเบส ควรใช้วิธีไหนดีคะ



 

วิธีเช็คไม่ให้เพิ่มข้อมูลซ้ำลงในตารางดาต้าเบส ควรใช้วิธีไหนดีคะ

 



Topic : 047973

Guest




คือว่า หนูจะเรียกข้อมูลขึ้นมาแบบวนลูปค่ะ แล้วค่อยๆเพิ่มลงในตารางดาต้าเบส แต่ว่า ข้อมูลที่เรียกขึ้นมาบางตัว

มันซ้ำกับที่ในตารางมีอยู่แล้ว จึงเกิด error=INSERT INTO email_addresses(email_address,email_address_caps) VALUE('[email protected]','[email protected]') Duplicate entry '' for key 1 เวลาที่เพิ่มข้อมูลลงไป

อยากจะทราบวิธีสร้างเงื่อนไข เช็คข้อมูล เพื่อไม่ให้เพิ่มข้อมูลเข้าไปแล้วซ้ำกับข้อมูลในตารางดาต้าเบสอ่ะค่ะ รบกวนด้วยนะคะ


อันนี้ตัวอย่างโค้ดนะคะCode (PHP)
<?php
$host		=	"localhost";
$username_db	=	"root";
$password_db	=	"crmsosys456";
$db	= "crm"; // database name
$databases = mysql_connect($host,$username_db,$password_db) or die ("can't connect database");
//mysql_query("SET NAMES UTF8");
mysql_select_db($db) or die("Can't select database");	


$result = mysql_query("SELECT email_address FROM leads");

while($row = mysql_fetch_array($result))
  {
	  if ($row['email_address'] != "")
	  {

  //echo $row['email_address'];
  //echo "<br />";

  $email_address = $row['email_address'];

  $email_address_caps = strtoupper($row['email_address']);

 //echo "$email_address_caps";
 //echo "$email_address";
 //echo "</br>";
	  
$sql = "INSERT INTO email_addresses(email_address,email_address_caps) 
VALUE('$email_address','$email_address_caps')";

mysql_query($sql) or die ("error=$sql ".mysql_error());
	
	}
	 
  }
////////////////////////////////////////////////////////////////////

$query = mysql_query("SELECT id FROM leads");

while($row2 = mysql_fetch_array($query))
{
	$id = $row2['id'];
	//echo "$id";
	//echo "</br>";

 $sql1 = "INSERT INTO email_addr_bean_rel(bean_id,bean_module,primary_add,reply_to_address) 
 VALUE('$id','Leads','1','0')";

 mysql_query($sql1) or die ("error=$sql ".mysql_error());

}
///////////////////////////////////////////////////


$query4 = mysql_query("select id FROM email_addresses");

while($id_mail = mysql_fetch_array($query4))
{
	$id_m = $id_mail['id'];

	//echo "$id_m";
	//echo "</br>";

$mailaddress =  mysql_query("SELECT email_address FROM email_addresses WHERE id='$id_m'");

$id_lead = mysql_query("SELECT id FROM leads WHERE email_address = '$mailaddress'");

$sql2 = "INSERT INTO email_addr_bean_rel(email_address_id) VALUE ('$id_m') WHERE bean_id ='$id_lead'";

mysql_query($sql2) or die ("error=$sql ".mysql_error());

}

echo "complete";
?>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-08-31 14:31:53 By : นู๋น้อย View : 4769 Reply : 6
 

 

No. 1



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



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

ก่อนจะเอา้ข้อมูลลงฐานข้อมูลคุณก็เช็คก่อนว่ามีข้อมูลตัวนั้นอยู่แล้วหรือไม่เช่น
Code (PHP)
$sql  = "SELECT id FROM member WHERE username='" .  $username . "' ";
$query = mysql_query($sql);
$num = mysql_num_rows($query);
if($num > 0)
{
   echo 'มี username นี้ในระบบแล้วครับ';
}







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-31 17:07:06 By : oxygenyoyo
 


 

No. 2

Guest


$result = mysql_query("SELECT email_address FROM leads where email_address not in(SELECT email_address FROM email_addresses) ");
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-31 17:07:12 By : heng
 

 

No. 3



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

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

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

ตั้ง ฟีล email ไว้เป็น unique เวลาบันทึกลงไปด้วย mysql_query(); จะคืนค่า false ตอนบันทึกไม่ได้คับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-31 17:11:20 By : pjgunner
 


 

No. 4



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



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


เขียน function ก่อน(แบบเก่านะ ลองดัดแปลงดูนะ) จะได้นำไปใช้ได้ทุกหน้าได้ครับ
//ChkHnNo.php
<?php

function ChkHnNo( $hn_no )
{
global $conn;
$strSQL = "SELECT hn_no FROM tbl_opd ";
$strSQL = $strSQL . "WHERE hn_no='$hn_no' ";
$result = mysql_query( $strSQL, $conn );
if ( ! $result )
die ( "SELECT มีข้อผิดพลาด" . mysql_error() );
$num = mysql_num_rows( $result );
if ( empty( $num ) )
return false;
else
return true;
}

?>
//เวลาเรียกใช้
<?php
include( "ChkHnNo.php" );
$msg = "";
if ( $Submit == "เพิ่ม" )
{
$ChkHnNo = ChkHnNo( $hn_no );
if ( $ChkHnNo == true )
$msg = $msg . "<font color=\"#FF0000\">รหัสHNนี้ มีอยู่แล้ว</font> <br>\n";


ประวัติการแก้ไข
2010-09-01 19:14:36
2010-09-01 19:14:40
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-01 19:01:10 By : p_kokmas
 


 

No. 5

Guest


[font=Verdana]อออ[/font]
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-16 11:05:57 By : อ
 


 

No. 6

Guest



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-04-09 15:46:31 By : สส
 

   

ค้นหาข้อมูล


   
 

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