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 > ต้องการเช็คข้อมูลซ้ำก่อนอัพเดททีละหลายๆ เรคคอร์ด ตามตัวอย่างครับ



 

ต้องการเช็คข้อมูลซ้ำก่อนอัพเดททีละหลายๆ เรคคอร์ด ตามตัวอย่างครับ

 



Topic : 119773



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



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




รบกวนหน่อยครับ ผมต้องการเช็คข้อมูลแต่ละเรคคอร์ดก่อน submit ว่ามีเรคคอร์ดไหนชื่อ user ซ้ำบ้าง ถ้าซ้ำให้มีตัวหนังสือแจ้งว่าซ้ำข้างๆ input ตัวนั้น ตามตัวอย่างนี้ครับ https://www.thaicreate.com/community/jquery-auto-fill-textbox.html
รูปตัวอย่างจาก Thaicreate

ตามตัวอย่างทดลองทำได้แล้วครับ แต่ต้องการแก้แบบทีละหลายๆ เรคคอร์ด ยัง งงๆ อยู่
อันนี้รูปที่ทดลองทำครับ

edit.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
<meta charset="UTF-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){

	$("#txtUser").change(function(){

			$("#sCusID").empty();

			$.ajax({ 
				url: "Check_user.php" ,
				type: "POST",
				data: 'sCusID=' +$("#txtUser").val()
			})
			.success(function(result) { 

					var obj = jQuery.parseJSON(result);

					if(obj != '')
					{
						  $.each(obj, function(key, inval) {

								   if($("#txtUser").val() == inval["id"])
								  {
									   $("#sCusID").html(" <font color='red'>user ซ้ำครับ</font>");
								  }

						  });
					}

			});

		});
	});
</script>
</head>
<body>
<?php
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
mysql_query("SET NAMES UTF8");
$objDB = mysql_select_db("test");

//*** Update Condition ***//
if($_GET["Action"] == "Save")
{
	for($i=1;$i<=$_POST["hdnLine"];$i++)
	{
		$strSQL = "UPDATE user SET ";
		$strSQL .="user = '".$_POST["txtUser$i"]."' ";
		$strSQL .=",pass = '".$_POST["txtPass$i"]."' ";
		$strSQL .="WHERE id = '".$_POST["hdnCustomerID$i"]."' ";
		$objQuery = mysql_query($strSQL);
	}
	//header("location:$_SERVER[PHP_SELF]");
	//exit();
}

$strSQL = "SELECT * FROM user ORDER BY id ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<form name="frmMain" method="post" action="edit.php?Action=Save">
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">ID </div></th>
    <th width="98"> <div align="center">User </div></th>
    <th width="198"> <div align="center">Password </div></th>
  </tr>
<?php
$i =0;
while($objResult = mysql_fetch_array($objQuery))
{
	$i = $i + 1;
?>
  <tr>
    <td><div align="center">
	<input type="hidden" name="hdnCustomerID<?php echo $i;?>" size="5" value="<?php echo $objResult["id"];?>">
	<input type="text" name="txtCustomerID<?php echo $i;?>" size="5" value="<?php echo $objResult["id"];?>">
	</div></td>
    <td><input type="text" id="txtUser" name="txtUser<?php echo $i;?>" size="20" value="<?php echo $objResult["user"];?>"></td>
	<span id="sCusID"></span>
    <td><input type="text" name="txtPass<?php echo $i;?>" size="20" value="<?php echo $objResult["pass"];?>"></td>
    
  </tr>
<?php
}
?>
</table>
  <input type="submit" name="submit" value="submit">
  <input type="hidden" name="hdnLine" value="<?php echo $i;?>">
</form>
<?php
mysql_close($objConnect);
?>
</body>
</html>




Check_user.php
<?php
	$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
	$objDB = mysql_select_db("test");
	$strSQL = "SELECT * FROM user WHERE 1 AND id = '".$_POST["sCusID"]."' ";
	$objQuery = mysql_query($strSQL) or die (mysql_error());
	$intNumField = mysql_num_fields($objQuery);
	$resultArray = array();
	while($obResult = mysql_fetch_array($objQuery))
	{
		$arrCol = array();
		for($i=0;$i<$intNumField;$i++)
		{
			$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
		}
		array_push($resultArray,$arrCol);
	}
	
	mysql_close($objConnect);
	
	echo json_encode($resultArray);
?>



ฐานข้อมูลครับ
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generation Time: Nov 06, 2015 at 06:05 PM
-- Server version: 5.0.51
-- PHP Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- Database: `test`
-- 

-- --------------------------------------------------------

-- 
-- Table structure for table `user`
-- 

CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,
  `user` varchar(50) NOT NULL,
  `pass` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;

-- 
-- Dumping data for table `user`
-- 

INSERT INTO `user` VALUES (1, 'test1', 'test1');
INSERT INTO `user` VALUES (2, 'test2', 'test2');
INSERT INTO `user` VALUES (3, 'test3', 'test3');
INSERT INTO `user` VALUES (4, 'test4', 'test4');
INSERT INTO `user` VALUES (5, 'test5', 'test5');
INSERT INTO `user` VALUES (6, 'test6', 'test6');
INSERT INTO `user` VALUES (7, 'test7', 'test7');
INSERT INTO `user` VALUES (8, 'test8', 'test8');
INSERT INTO `user` VALUES (9, 'test9', 'test9');
INSERT INTO `user` VALUES (10, 'test10', 'test10');





Tag : PHP, MySQL, JavaScript, jQuery









ประวัติการแก้ไข
2015-11-06 18:32:28
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-06 18:27:38 By : giverplus View : 2380 Reply : 4
 

 

No. 1



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



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


แนวทางคือ ต้องเอาข้อมูล ทั้งหมดเข้าไปตรวจสอบก่อน
แล้วข้อมูลต้องไม่ซ้ำกันด้วย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-07 16:44:22 By : CasanovaKung
 


 

No. 2



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



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

จะยุ่งยากวุ่นวายไปหรือเปล่าครับ จะแก้ไขที่ละหลาย เรคคอร์ด

คุณต้องตรวจสอบทุกเรคคอร์ดที่แก้ไขก่อนว่า ซ้ำกันด้วยหรือไม่ ก่อนที่จะเอาไปตรวจสอบกับ database

แค่คิดแค่นี้ก่อนให้ เช็คได้ว่าไม่มีซ้ำกัน
แล้วถึงค่อยวนลูป ทำการเช็คกับ database ที่ละรายการ

ลองใช้ phpmyadmin รุ่นใหม่ๆ เป็นตัวอย่างในการแก้ไข database ดูครับว่าเขาทำอย่างไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-07 17:46:28 By : NewbiePHP
 

 

No. 3



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



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


คือผมมีข้อมูลอยู่ 8 หมื่นกว่าเรคคอร์ด มันมีข้อมูลซ้ำกันอยู่พอสมควร ผมเลยอยากจะไล่เช็ค ไล่แก้ทีละโซนว่ามันซ้ำกับที่ไหนบ้างครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-07 18:21:13 By : giverplus
 


 

No. 4



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



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

1 สร้างตาราง1 ขึ้นมาใหม่ ให้มี unique key ในฟีลด์ที่ไม่ต้องการให้ซ้ำ
2 สร้างตาราง2 เก็บรายการ ซ้ำไม่ต้องมี unique key
3 อ่านค่ามาที่ละรายการ ใสตาราง1 ถ้าใส่ไม่ได้ให้เก็บในตาราง 2 ทำจนครบ
4 อ่านค่าตารางสอง มาแก้ไข unique key แล้ว insert เข้าตาราง 1 โดยเปลี่ยน ค่า unique key เล็กน้อย
เช่นอ่าจต่อท้ายด้วย 1 2 3 4 ไปเรื่อยๆ ถ้าเป็น varchar

ปล. ทุกตาราง clone มาจากตารางเดิม ช้าหน่อย แต่ชัวร์
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-08 01:16:59 By : NewbiePHP
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 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 อัตราราคา คลิกที่นี่