|
|
|
วิธีเช็คไม่ให้เพิ่มข้อมูลซ้ำลงในตารางดาต้าเบส ควรใช้วิธีไหนดีคะ |
|
|
|
|
|
|
|
คือว่า หนูจะเรียกข้อมูลขึ้นมาแบบวนลูปค่ะ แล้วค่อยๆเพิ่มลงในตารางดาต้าเบส แต่ว่า ข้อมูลที่เรียกขึ้นมาบางตัว
มันซ้ำกับที่ในตารางมีอยู่แล้ว จึงเกิด 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
|
|
|
|
|
|
Date :
2010-08-31 14:31:53 |
By :
นู๋น้อย |
View :
4804 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก่อนจะเอา้ข้อมูลลงฐานข้อมูลคุณก็เช็คก่อนว่ามีข้อมูลตัวนั้นอยู่แล้วหรือไม่เช่น
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตั้ง ฟีล email ไว้เป็น unique เวลาบันทึกลงไปด้วย mysql_query(); จะคืนค่า false ตอนบันทึกไม่ได้คับ
|
|
|
|
|
Date :
2010-08-31 17:11:20 |
By :
pjgunner |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียน 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[font=Verdana]อออ[/font]
|
|
|
|
|
Date :
2011-03-16 11:05:57 |
By :
อ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-04-09 15:46:31 |
By :
สส |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|