เช็คข้อมูลซ้ำไม่ได้อะครับ ช่วยดูโค๊ตให้ผมที คือผมต้องการตรวจสอบรหัสบัตรประชาชน ชื่อ - นามสกุล
คือผมต้องการตรวจสอบรหัสบัตรประชาชน ชื่อ - นามสกุล ว่าที่กรอกลงในแบบรับข้อมูลกับในฐานข้อมูลตรงกันหรือไม่ ถ้าตรงกัน จะต้องบอกว่ามี "ข้อมูลซ้ำไม่สามารถบันทึกลงไปได้" เลขบัตรประชาชนที่กรอกจะมีหน้าตา 3-3333-33333-33-3 ในฐานข้อมูลก็เหมือนกัน โค๊ตที่ผมใช้มีอยู่ 2 ไฟล์
add_data.php
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<script language="JavaScript" src="js/validationJS.js" /></script>
<script language="JavaScript" src="js/function.js" ></script>
</head>
<form name="add_data" method="post" action="input.php">
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #CCCCCC">
<tr>
<td align="center" valign="top"><table width="94%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="30" bgcolor="#FFFFFF"><font color="#000000" face="MS Sans Serif, Tahoma, sans-serif" >
คำนำ :
<input name="prefix" type="text"size="12">
ชื่อ :
<input name="fname" type="text"size="18">
นามสกุล :
<input name="lname" type="text"size="18">
</font></td>
</tr>
</table>
<table width="94%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#FFFFFF">
<td height="27"><font color="#000000" face="MS Sans Serif, Tahoma, sans-serif" >
เลขบัตรประชาชน :
<script>
var citizenIdFormat = '#-####-#####-##-#';
</script>
<input type="text" name="citizen_id" size="17" maxlength="17" value="" onkeyup="if(window.event.keyCode >= 48)return autoMask1(this,citizenIdFormat);" onkeypress="isInteger(event)" onblur="return autoMask1(this,citizenIdFormat);" class="detail">
<font color="#FF0000" > * (กรอกเลขบัตรประชาชนโดยไม่ต้องเว้นช่องว่าง
จะมีขีดคั่นอัตโนมัติ)</font> </font></td>
</tr>
</table>
<table width="94%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#FFFFFF">
<td height="27"><font color="#000000" face="MS Sans Serif, Tahoma, sans-serif" >
บ้านเลขที่ :
<input name="add_no" type="text"size="6" maxlength="7">
หมู่ที่ :
<input name="moo" type="text"size="1" maxlength="2">
ถนน :
<input name="road" type="text"size="14">
ตำบล :
<input name="tambon" type="text"size="14">
</font></td>
</tr>
</table>
<table width="94%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#FFFFFF">
<td height="27"><font color="#000000" face="MS Sans Serif, Tahoma, sans-serif" >
อำเภอ :
<input name="amphoe" type="text"size="18">
จังหวัด :
<input name="province" type="text"size="18">
รหัสไปรษณีย์ :
<input name="zip_code" type="text"size="4" maxlength="5">
</font></td>
</tr>
</table>
<table width="94%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="45" align="center"> <input type="Submit" name="Submit" value="บันทึกข้อมูล">
<script language="JavaScript">
function confirmLink(theLink, theSqlQuery) {
var is_confirmed = confirm('ยืนยันการบันทึกข้อมูล ' + ':'+ theSqlQuery);
return is_confirmed;
}
</script> <input type="reset" name="Submit" value="ยกเลิกข้อมูล">
</td>
</tr>
</table></body>
</form>
</html>
กับอีกอันที่ต่อเนื่องมา คือ
input.php
<? require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where id=$id";
$db_query=mysql_db_query($db,$sql);
if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง */
{
echo"<center><br>รหัส Id นี้มีอยู่แล้ว </center>";
exit();
}
else
{
mysql_query("INSERT INTO $tb (id, citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ ");
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
}
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
mysql_close();
?>
ช่วยแก้ไขโค๊ตให้ผมทีครับ ทำยังไงมันก็เซฟผ่านทุกที ข้อมูลก็ซ้ำบานเลยครับ แก้ไม่ได้มา 2 อาทิตย์แล้ว ขอขอบคุณทุกท่านที่อ่านครับTag : - - - -
Date :
2009-04-03 14:21:58
By :
pchome
View :
6858
Reply :
24
Code (PHP)
<?php
if($num_rows > 0) <-------ต้องเป็นแบบนี้ ผมว่าใช้ mysql_num_rows() ดีกว่าน่ะ แบบนี้ $num = mysql_num_rows($result);
{
echo"<center><br>รหัส Id นี้มีอยู่แล้ว </center>";
exit();
}
else
{
mysql_query("INSERT INTO $tb (id, citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ ")
//จาก mysql_query(" ") ตรง insert into ตามด้วย table_name แล้วต้องตามด้วย values ด้วยน่ะครับ ไม่อย่างนั้นก็ไม่ลง database เหรก
?>
Date :
2009-04-03 14:53:40
By :
kanchen
จากคำแนะนำของคุณ kanchen นะครับ
Code (PHP)
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where id=$id";
$db_query=mysql_db_query($db,$sql);
$num_rows = mysql_num_rows($db_query); // เพิ่มบรรทัดนี้นะครับ
if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง */
{
echo"<center><br>รหัส Id นี้มีอยู่แล้ว </center>";
exit();
}
else
{
mysql_query("INSERT INTO $tb (id, citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ ");
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
}
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
mysql_close();
?>
Date :
2009-04-03 15:00:58
By :
zepherus
คือโทษทีครับ ผมลืมบอกไปว่าผมต้องการเช็คค่า citizen_id , fname และ lname ครับ ไม่ได้เช็คที่ค่า ID อะครับ ว่า เลขบัตร 3-3333-33333-33-3 กับ นฑี และ ลาวา มีข้อมูลอยู่ในฐานหรือยังครับ ถ้ามีให้แจ้งเป็น "ข้อมูลซ้ำ" แล้วไม่สามารถเพิ่มข้อมูลซ้ำนี้ลงไปในฐานข้อมูลได้ต้องกลับมาเช็คใหม่เสมอครับ
Date :
2009-04-03 15:33:58
By :
Boh
Code (PHP)
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where id='$id' and fname ='$fname' and lname = '$lname' "; // เพิ่ม and fname ='$fname' and lname = '$lname' บรรทัดนี้นะครับ
$db_query=mysql_db_query($db,$sql);
$num_rows = mysql_num_rows($db_query); // เพิ่มบรรทัดนี้นะครับ
if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง */
{
echo"<center><br>รหัส Id นี้มีอยู่แล้ว </center>";
exit();
}
else
{
mysql_query("INSERT INTO $tb (id, citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ ");
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
}
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
mysql_close();
?>
Date :
2009-04-03 15:45:11
By :
zepherus
คือขออีกนิดครับเพราะ พอใส่ข้อมูลลงไปแล้วมันบอกว่า ไม่สามารถจัดเก็บข้อมูลได้ งงเลยครับ ใส่ข้อมูลซ้ำก็เป็น ไม่ซ้ำก็เป็น Save ไม่ได้เลยครับ ผมแก้โค๊ตเป็นแบบนี้ครับ ฐานข้อมูลชื่อ dbprosonal ชื่อตาราง regis2009 ครับ
input.php
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where id='$id' and citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' "; // เพิ่ม and citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' บรรทัดนี้นะครับ
$db_query=mysql_db_query($db,$sql);
$num_rows = mysql_num_rows($db_query); // เพิ่มบรรทัดนี้นะครับ
if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง */
{
echo"<center><br>ระบบพบว่ามีข้อมูลนี้แล้ว กรุณาตรวจสอบข้อมูลด้วยครับ !</center>";
exit();
}
else
{
mysql_query("INSERT INTO $tb (id, citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ ");
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
}
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
mysql_close();
?>
ขอบคุณครับ
Date :
2009-04-03 16:25:25
By :
Boh
ตอนนี้บันทึกได้แล้วแต่ ข้อมูลที่กรอกเข้าไปซ้ำกับในฐานข้อมูลก็สามารถบันทึกลงไปได้เหมือนเดิม กลายเป็นมีข้อมูลซ้ำบานเลยครับ คีย์ข้อมูลที่ซ้ำกัน 5 ครั้ง ก็ลงฐานข้อมูลซ้ำทั้ง 5 เลยครับ เหมือนกับโค๊ตไม่ได้ทำการตรวจสอบข้อมูลที่คีย์เข้าไปกับฐานข้อมูลเลยว่ามันซ้ำกันหรือเปล่า เพราะผมไม่ต้องการให้ เลขบัตรประชาชน , ชื่อ , นามสกุล ตรงกับในฐานข้อมูลครับ
Date :
2009-04-03 16:47:32
By :
Boh
เอ่อ ผมขอดูโค้ที่แก้ไขแล้วได้ไหมครับ จะได้ช่วยดูว่าตรงไหนที่ผิดครับ
Date :
2009-04-03 17:01:03
By :
zepherus
อันเดิม No.5 อะครับ ผมดันใส่ผิดเองในตอนแรก ตอนนี้บันทึกได้แล้วแต่ ข้อมูลที่กรอกเข้าไปซ้ำกับในฐานข้อมูลก็สามารถบันทึกลงไปได้เหมือนเดิม กลายเป็นมีข้อมูลซ้ำบานเลยครับ คีย์ข้อมูลที่ซ้ำกัน 5 ครั้ง ก็ลงฐานข้อมูลซ้ำทั้ง 5 เลยครับ เหมือนกับโค๊ตไม่ได้ทำการตรวจสอบข้อมูลที่คีย์เข้าไปกับฐานข้อมูลเลยว่ามันซ้ำกันหรือเปล่า เพราะผมไม่ต้องการให้ เลขบัตรประชาชน , ชื่อ , นามสกุล ตรงกับในฐานข้อมูลครับ ขอบคุณครับ
ปล. ปกติเค้าตรวจสอบได้ใช่ไม๊ครับว่าข้อมูลที่จะกรอกและเซฟเข้าไปมันซ้ำกันอะครับ????
Date :
2009-04-03 17:20:57
By :
Boh
Database เป็นไงอ่ะค่ะ
อยากเห็นอ่ะ
Date :
2009-04-03 17:30:57
By :
paphun
Code (PHP)
<?php
$sql="select * from $tb where id='$id' and citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' "; // เพิ่ม and citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' บรรทัดนี้นะครับ
?>
แก้เป็น
Code (PHP)
<?php
$sql="select * from $tb where citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' "; // เพิ่ม and citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' บรรทัดนี้นะครับ
?>
Code (PHP)
<?php
else
{
mysql_query("INSERT INTO $tb (id, citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ ");
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
}
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
?>
แก้เป็น
Code (PHP)
<?php
else
{
mysql_query("INSERT INTO $tb ( 'citizen_id', 'prefix', 'fname', 'lname', add_no, 'moo', 'road', 'tambon', 'amphoe', 'province', 'zip_code')") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า ".mysql_error());
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
}
?>
Date :
2009-04-03 18:51:08
By :
lozomac
คุณ a-mac ครับ มันขึ้น Error นี้คับ
จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า 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 ''citizen_id', 'prefix', 'fname', 'lname', add_no, 'moo', 'road',
ส่วนโค๊ตที่แก้แล้วหน้าตายังนี้คับ
input.php
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' "; // เพิ่ม and citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' บรรทัดนี้นะครับ
$db_query=mysql_db_query($db,$sql);
$num_rows = mysql_num_rows($db_query); // เพิ่มบรรทัดนี้นะครับ
if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง */
{
echo"<center><br>ระบบพบว่ามีข้อมูลนี้แล้ว กรุณาตรวจสอบข้อมูลด้วยครับ !</center>";
exit();
}
else
{
mysql_query("INSERT INTO $tb ( 'citizen_id', 'prefix', 'fname', 'lname', add_no, 'moo', 'road', 'tambon', 'amphoe', 'province', 'zip_code')") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า ".mysql_error());
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
}
?>
อันนี้คือตัว connect
connect.php
<?
$host="localhost";
$username="root";
$password="root";
$db="dbprosonal";
$tb="regis2009";
$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
?>
อันนี้คือฐานข้อมูลคับ หน้าตาจะประหลาดหน่อย
#
--
-- ฐานข้อมูล: `dbprosonal`
--
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `regis2009`
--
CREATE TABLE `regis2009` (
`id` int(7) NOT NULL auto_increment,
`citizen_id` varchar(17) character set tis620 NOT NULL,
`prefix` varchar(20) character set tis620 NOT NULL,
`fname` varchar(100) character set tis620 NOT NULL,
`lname` varchar(100) character set tis620 NOT NULL,
`add_no` varchar(10) character set tis620 NOT NULL,
`moo` varchar(2) character set tis620 NOT NULL,
`road` varchar(50) character set tis620 NOT NULL,
`tambon` varchar(150) character set tis620 NOT NULL,
`amphoe` varchar(150) character set tis620 NOT NULL,
`province` varchar(200) character set tis620 NOT NULL,
`zip_code` varchar(5) character set tis620 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
--
-- dump ตาราง `regis2009`
--
INSERT INTO `regis2009` VALUES (1, '3-3333-33333-33-3', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (2, '1-1111-11111-11-1', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (3, '2-2222-22222-22-2', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (4, '2-2222-22222-22-2', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (5, '2-2222-22222-22-2', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (6, '2-2222-22222-22-2', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (7, '2-2222-22222-22-2', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (8, '2-2222-22222-22-2', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (9, '5-5555-55555-55-5', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (10, '3-3333-33333-33-3', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (11, '3-3333-33333-33-3', 'นาย', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (12, '6-9696-96969-69-6', 'นาง', 'ภักดี', 'มีที่ไหน', '100/101', '9', 'มีดี', 'สีกันใหญ่', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (13, '1-1111-11111-11-1', 'นาย', 'ทดสอบ', 'มีที่ไหน', '100/101', '9', 'มีดี', 'สีกันใหญ่', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (14, '4-4444-44444-44-4', 'นาง', 'ภักดี', 'มีที่ไหน', '100/101', '9', 'มีดี', 'สีกันใหญ่', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
INSERT INTO `regis2009` VALUES (15, '6-9696-96969-69-6', 'นาง', 'ทดสอบ', 'ลงทะเบียน', '100/100', '10', 'มีดี', 'สีกัน', 'ดอนเมือง', 'กรุงเทพฯ', '10210');
#
เห็นข้อมูลซ้ำเพียบเลย คือถ้าซ้ำให้กลับไปแก้ไขใหม่ และไม่เซฟด้วย แต่ถ้าไม่ซ้ำ ให้บันทึกได้อะคับ ขอบคุณทุกท่านครับ
Date :
2009-04-03 19:46:26
By :
Boh
ตรงนี้
Code (PHP)
<?php
mysql_query("INSERT INTO $tb ( 'citizen_id', 'prefix', 'fname', 'lname', add_no, 'moo', 'road', 'tambon', 'amphoe', 'province', 'zip_code')") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า ".mysql_error());
?>
ลองแก้เป็น
Code (PHP)
<?php
$sql = "INSERT INTO $tb(citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)
VALUES('value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7', 'value8', 'value9', 'value10', 'value11')";
mysql_query($sql) or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า ".mysql_error());
?>
ถ้าเข้าเงื่อนไขนี้ได้ แสดงว่า เช๊คว่าซ้ำได้แล้วใช่มั้ยครับ
ที่เหลือ หลัง else ก็เป็นแค่การ insert เข้า db ธรรมดาครับ
ลองฝึกเรื่อง เพิ่ม ลบ แก้ไข แล้วก็ select เยอะๆครับ
Date :
2009-04-03 21:23:18
By :
rasabut
ขอขอบคุณ คุณRoronoa Zoro นะคับ และขอขอบคุณทุกๆ คนคับ ผมลองแก้ไขแล้วติด Error หนักกว่าเก่าอีก ผมตัดใจแล้วคับ เพราะผมต้องพรีเซนในวันที่ 7 เมษา นี้แล้ว ติดตัวนี้ตัวเดียวเรื่องระบบเช็คข้อมูลซ้ำ เลขบัตร ชื่อ นามสกุล ติดมา 2 อาทิตย์กว่าจะครบ 3 แล้ว ผมก็ต้องยอมให้เค้าหักเงินเดือนคับเพราะทำไม่ได้จริงๆ คราวที่แล้วผมก็มาโพสหาคำตอบเรื่องการ แก้ไขหน้าที่มีเอกสารแนบไปทีนึงแล้ว ทำไม่ได้เหมือนกัน ตอนนี้ผมเงินเดือนเหลือไม่ถึง 9 พันดี จาก หมื่อนต้นๆ ผมไม่ได้จบมาทางด้านนี้ ในยุคเศรษฐกิจอย่างนี้จึง โดนหักเงินเดือน ดีกว่าโดนไล่ออก จิงไม๊คับ ต้องทนคับ ท้ายนี้ขอขอบคุณทุกคนนะคับที่ช่วยผมกันมาทั้งวัน นอนตี 2 ตื่นตี 5 มา 16 วันแล้ว ในที่สุดก็ถึงทางตันซะที ร่างกายผมก็เริ่มจะทำไม่ไหวแล้วคับ อดนอนมานาน คงต้องขอลาไปนอนพักก่อนคับ (นอนทำใจ ว่าไม่น่าทำงานที่นี่เลยเรา) ตาเริ่มลายอีกแล้ว แถมท้ายด้วย Error คับ
#
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\dbprosonal\input.php on line 11
จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า 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 ''citizen_id', 'prefix', 'fname', 'lname', add_no, 'moo', 'road',
#
โค๊ตที่แก้ไขตามแล้ว
input.php
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql = "INSERT INTO $tb(citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code)
VALUES('value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7', 'value8', 'value9', 'value10', 'value11')";
mysql_query($sql) or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า ".mysql_error());
$db_query=mysql_db_query($db,$sql);
$num_rows = mysql_num_rows($db_query); // เพิ่มบรรทัดนี้นะครับ
if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง */
{
echo"<center><br>ระบบพบว่ามีข้อมูลนี้แล้ว กรุณาตรวจสอบข้อมูลด้วยครับ !</center>";
exit();
}
else
{
mysql_query("INSERT INTO $tb ('citizen_id', 'prefix', 'fname', 'lname', add_no, 'moo', 'road', 'tambon', 'amphoe', 'province', 'zip_code')") or die ("จัดเก็บข้อมูลลงฐานข้อมูล ไม่ได้ เพราะว่า ".mysql_error());
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
echo "<SCRIPT LANGUAGE='JavaScript'>
<!--
opener.location.href='show.php';
//-->
</SCRIPT>";
}
?>
Date :
2009-04-03 22:15:58
By :
Boh
เอ้าๆๆ อย่าเพิ่งถ้อ ครับเดียวผมช่วยเต็มที่ครับ
Code (PHP)
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' ";
$db_query = mysql_query($sql);
$num_rows = mysql_num_rows($db_query);
if($num_rows != 0){
echo"<center><br>ระบบพบว่ามีข้อมูลนี้แล้ว กรุณาตรวจสอบข้อมูลด้วยครับ !</center>";
}else{
$sql = "INSERT INTO $tb(citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code) VALUES('value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7', 'value8', 'value9', 'value10', 'value11')";
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
echo "<SCRIPT LANGUAGE='JavaScript'>
opener.location.href='show.php';
</SCRIPT>";
}
?>
เอาลองดูนะ ผมแนะนำว่าจิงๆ ควรตรวจสอบแค่บัตรประชาชนที่ไม่ซ้ำกันก็พอแล้ว
ไม่ต้องไปตรวจสอบ ซื่อ นามสกุล หรอกนะ มันจะสับสน เรารู้แค่เลขบัตรประชาชนเราก็สามารถรู้ได้แล้ว
ว่าเค้าเป็นใครนะครับ
ลองดูนะ ติดตรงไหนบอกมานะผมช่วย จะได้เงินเดือน มากก่าผม ตอนนี้ผม 8500 เอง
Date :
2009-04-03 22:53:28
By :
dr.website
Code (PHP)
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' ";
$db_query = mysql_query($sql);
$num_rows = mysql_num_rows($db_query);
if($num_rows != 0){
echo"<center><br>ระบบพบว่ามีข้อมูลนี้แล้ว กรุณาตรวจสอบข้อมูลด้วยครับ !</center>";
}else{
$sql = "INSERT INTO $tb(citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code) VALUES('value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7', 'value8', 'value9', 'value10', 'value11')";
mysql_query($sql); //// <------------------------ เพิ่มเติม
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
echo "<SCRIPT LANGUAGE='JavaScript'>
opener.location.href='show.php';
</SCRIPT>";
}
?>
เพิ่มเติมนิดหน่อยนะ ลืม ไปนิดเดียว อันนี้ update กว่านะครบั
Date :
2009-04-03 22:55:40
By :
dr.website
กำๆๆๆ
คุณ Boh ครับ
สิ่งที่ผมให้แก้คือหลัง else ครับ
Date :
2009-04-03 23:48:44
By :
rasabut
จะนอนก็นอนไม่หลับ ห่วงแต่งานเลยเปิดเครื่องมาดูอีกรอบ ได้กำลังใจและความช่วยเหลือจากคุณ dr.website (ยังมีคนเงินเดือนต่ำกว่าผมอีกหรือคับนี่ สุดยอด!) ผมได้ลองแก้ไขแล้วปรากฏว่า ข้อมูลซ้ำก็ผ่าน ข้อมูลไม่ซ้ำก็ผ่าน แถมที่จัดเก็บได้ดันเป็นแบบนี้คับ เลขบัตรประชาชน: citizen_id คำนำ : prefix ชื่อ : fname ........... พอหมดชื่อฐานก็ต่อด้วย เลขบัตรประชาชน: value1 คำนำ : value2 ชื่อ : value3 ................... ตรวจไม่ได้คับ ผ่านหมดซะงั้น แถมได้ชื่อไฟล์ที่เก็บ จัดเก็บลงฐานอีก เริ่มเห็นความหวังลางๆ แล้วคับ ตอนนี้ง่วงจิงๆแล้วคับ นอนพักผ่อนกันดีกว่าคับ
Date :
2009-04-03 23:58:02
By :
Boh
ถ้ามิเป็นการรังเกียจ
ส่งไฟล์มาครับ db ด้วยก็ดีครับ เดี๋ยวผมเขียนให้ครับ
ท้อได้ครับ แต่อย่าถอย
[email protected]
Date :
2009-04-04 00:09:38
By :
rasabut
dr.website มาสมัครงานบริษัทผมไหมครับ
เจ้าของกระทู้ทิ้งเมล์ไว้ครับ ผมเข้าไปช่วยอีกคน อย่ายอมให้ตัดเงินเลยครับ จะแย่เอานะ
Date :
2009-04-04 00:18:13
By :
plakrim
เอ่อ ถึงขั้นต้องตัดเงินเดินกันเลยเหรอครับเนี่ย
ยังไงถ้าไม่รังเกียจทิ้งเมลล์ไว้ได้ไหมครับจะได้ร่วมด้วยช่วยอีกแรง
Date :
2009-04-04 01:37:09
By :
zepherus
อืม น้องคนนี้ถ้าจะไม่รู้จิงๆ ว่าส่งค่าอะไรมา insert บ้าง
เอาเป็น ว่า ช่วยเต็มที่เลย
[email protected]
Date :
2009-04-04 08:10:36
By :
dr.website
Code (PHP)
<?php
require('connect.php');
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where citizen_id ='$citizen_id' and fname ='$fname' and lname = '$lname' ";
$db_query = mysql_query($sql);
$num_rows = mysql_num_rows($db_query);
if($num_rows != 0){
echo"<center><br>ระบบพบว่ามีข้อมูลนี้แล้ว กรุณาตรวจสอบข้อมูลด้วยครับ !</center>";
}else{
$sql = "INSERT INTO $tb(citizen_id, prefix, fname, lname, add_no, moo, road, tambon, amphoe, province, zip_code) VALUES('$citizen_id', '$prefix', '$fname', '$lname', '$add_no', '$moo', '$road', '$tambon', '$amphoe', '$province', '$zip_code')";
mysql_query($sql);
echo "ระบบได้ทำการจัดเก็บข้อมูล<br>ไว้เป็นที่เรียบร้อยแล้ว ครับ!";
echo "<SCRIPT LANGUAGE='JavaScript'>
opener.location.href='show.php';
</SCRIPT>";
}
?>
เอาอันนี้ update สุดๆๆ แล้วครับ ลองดูนะ
Date :
2009-04-04 08:18:33
By :
dr.website
ท่าน dr.website ผมส่งเมล์ไปให้ท่านช่วยดูให้แล้วครับ ขอขอบคุณครับ
Date :
2009-04-04 23:36:00
By :
boh
ขอบคุณมากๆค่ะ
$sql = "SELECT * FROM test where time='$time'";
$db_query = mysql_query($sql);
$num_rows = mysql_num_rows($db_query);
if($num_rows == 0){
echo "ชื่อนี่ใช้ได้";
$result = mysql_query("insert into test (date,time,level)
values('$date','$time','$level')");
}else{
echo "มันซ้ำแล้วอ่ะ";
}
ได้แล้วค่ะ
Date :
2011-01-31 14:52:17
By :
เอมมี่
Load balance : Server 01