|
|
|
การรันรหัสสมาชิก(id) อัตโนมัติ แบบเราตั้งรหัสสมาชิกเริ่มต้นแล้ว พอบันทึกแล้วกลับมาหน้าเดิมก้ให้รหัสสมาชิกเพิ่มขึ้นอัตโนมัติโดยไม่ต้องคีย์เองน่ะคับ |
|
|
|
|
|
|
|
ตอนสร้างฐานข้อมูล ให้ใช้เป็นแบบ auto increment ครับผม
|
|
|
|
|
Date :
19 ก.ย. 2550 01:34:59 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วจะทำอย่างไงให้รหัสสมาชิกในฐานข้อมูลเป็น00001ล่ะคับ เพราะไปดูในฐานข้อมูล มันเป็น1,2,3,4,.....ธรรมดาอ่ะคับ เวลาเพิ่มข้อมูลจะเขียนcodeอย่างไงให้มันโชว์รหัสสมาชิกอัตโนมัติคับ ฝากด้วยนะคับ..เป็นมือใหม่หัดเขียนเพิ่งเริ่มต้นน่ะคับยังไม่เข้าใจ
|
|
|
|
|
Date :
19 ก.ย. 2550 08:03:58 |
By :
อ๊อฟ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็น 00001 ก็ไม่อัตโนมัติแล้วสิคับ ถ้ามันถึง 99999 แล้วรหัสต่อไปจะเป็นอะไรล่ะคับ
แต่ถ้าต้องการอย่างนั้น ตอนสร้างฐานข้อมูลก็ไม่ต้องมี auto increment แล้วก็กำหนดเองหรือไม่ก็เรียกค่า record ล่าสุดแล้ว +1
ประมาณนี้ รึป่าว
|
|
|
|
|
Date :
19 ก.ย. 2550 17:19:19 |
By :
arthiter2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็คือจะมีการกำหนดค่าคงที่ให้กับรหัสสมาชิกคนแรกเป็น00001 คับ แล้วตัวต่อไปก็ให้มันรันอัตโนมัติไปเลย แล้วก็บันทึกลงฐานข้อมูลคับ โดยที่ไม่ต้องป้อน ต้องเขียนcode ส่วนใดอย่างไงบ้างคับ
|
|
|
|
|
Date :
20 ก.ย. 2550 08:06:39 |
By :
ออฟ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่วนของป้อนข้อมูล
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body>
<?
//include("conn_db.php");
$id="10001"
?>
<form name="form1" method="post" action="formtest1.php">
<table border="1" align="center" width="300">
<tr>
<td align="center">
<?
echo "กรุณากรอกประวัติ";
?>
</td>
</tr>
</table>
<br>
<table border="1" align="center" width="300">
<tr>
<td> <font size="5" face="AngsanaUPC, Angsana New">รหัสสมาชิก :
<?
echo"<b>$id</b>";
?>
</font> <br>
<font size="5" face="AngsanaUPC, Angsana New">ชื่อ :</font>
<input name="name" type="text" size="30" maxlength="30" ><br>
<font size="5" face="AngsanaUPC, Angsana New">นามสกุล :
<input name="surname" type="30" maxlength="30">
</font><br>
</td>
<tr>
<td align="center">
<input name="submit" type="submit" value="เพิ่มข้อมูล">
<input name="reset" type="reset" value="เคลียร์">
</td>
</tr>
</table><br>
<tr>
<td align="center">
<input name="submit1" type="submit" value="แก้ไขข้อมูล"><a href='select_tb_edit.php'></a>
</td>
</tr>
</body>
</html>
</body>
</html>
ส่วนของที่แสดงหลังจากบันทึกแล้ว
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body>
<?
//include("conn_db.php");
$host="localhost";
$username="";
$password="";
$dbname="test1";
$tb="customer";
$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
$select_db=mysql_select_db($dbname,$connect) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where id=id";
$db_query=mysql_db_query($dbname,$sql); //mysql_db_query ส่งคิวรีไปยัง mysql (Query ก็คือ กฏเกณฑ์และหรือเงื่อนไขในการแสดงข้อมูล)
$id="10001";
//$num_rows=mysql_num_rows($db_query); // mysql_num_rows นับจำนวน Reccord
/*if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง
{
echo"<center><font size=3 color=orange><br>รหัส Id นี้มีอยู่แล้ว </center></font>";
echo "</font></td></tr></table>";
echo "<br><hr width=500 color=blue>";
echo "<center><font size=3 color=blue><a href='form4.php'>[Back]</a></center>"; //กลับไปยังหน้า guestbook.php
exit();
}
else
{*/
mysql_query("INSERT INTO $tb (id, name, surname) values ('$id', '$name', '$surname')") or die ("Add ข้อมูลลง Table ไม่ได้ ");
?>
<!--ส่วนหัว-->
<table border="1" width="482" align="center">
<tr>
<td width="469" align="center"><font color="#0033FF"><strong><?php echo "โชว์ข้อมูลสมาชิก<br>"?></strong> </td>
</tr>
</table>
<!--ส่วนคอลัมน์-->
<table border="1" width="482" align="center">
<tr>
<td width="105">
<div align="center"><font color="#0033FF"><strong>รหัสสมาชิก</strong></font></div>
</td>
<td width="169">
<div align="center"><font color="#0033FF"><strong>ชื่อ</strong></font></div>
</td>
<td width="183">
<div align="center"><font color="#0033FF"><strong>นามสกุล</strong></font></div>
</td>
</tr>
</table>
<?
//ส่วนของการแสดงผล
$result = mysql_query($sql);
While($row= mysql_fetch_array($result)){
$id = $row["id"];
$name = $row["name"];
$surname = $row["surname"];
?>
<!--ตารางโชว์ข้อมูล-->
<table border="1" width="482" align="center">
<tr>
<td width="105">
<div align="center">
<? echo "$id"; ?>
</div>
</td>
<td width="169">
<? echo "$name"; ?>
</td>
<td width="183">
<? echo "$surname"; ?>
</td>
</tr>
</table>
<?}?> <!--ปิดคำสั่ง while-->
<?
echo "<center><font size=3 color=orange><br>Add ข้อมูลลง Table เสร็จเรียบร้อยแล้ว </center></font>";
echo "</font></td></tr></table>";
echo "<br><hr width=500 color=blue>";
echo "<center><font size=3 color=blue><a href='form3.php'>[Back]</a></center>"; //กลับไปยังหน้า guestbook.php
//}
mysql_close($connect); //mysql_close ปิดการเชื่อมตัวกับ mysql
?>
</body>
</html>
จะให้กลับไปที่หน้าเดิมแล้ว รหัสสมาชิก มันรันอัตโนมัติเป็น 10002 จะต้องเขียนcode เพิ่มตรงไหนอีกคับ ช่วยหน่อยนะคับ
|
|
|
|
|
Date :
20 ก.ย. 2550 09:29:21 |
By :
ออฟ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เคยใช้ฟังก์ชั่น substr() ของ php
ตัวอย่างเช่น รหัส C0001
เราก็ทำการ ดึงข้อมูลล่าสุดมากจาก DB ก่อน แล้วแบ่งตัวอักษร แล้วก็ทำการเพิ่มค่าตัวเลขที่อยู่ด้านหลัง
จากนั้นก็เช็คว่าตัวเลขนั้นอยู่ในช่วงไหน จะต้องเพิ่ม 0 อีกกี่ตัว
แบบ code ข้างล่างนี้
//ดึงข้อมูลล่าสุดขึ้นมา
$rs_mem=mysql('SELECT max(mem_id) FROM member');
$row_mem=mysql_fetch_array($rs_mem);
$mem_old=$row_mem['mem_id'];
$tmp1=substr($mem_old,0,1);//จะได้เฉพาะตัวแรกที่เป็นตัวอักษร
$tmp2=substr($mem_old,1);//ตัวเลขที่เหลือ
$tmp3=$tmp2+1;//จริงๆ เอาไปรวมกับตัว $tmp2 เลยก็ได้ค่ะ แต่ว่ากลัวงง ก็เลยแยกไว้ให้
//อันนี้ใช้ BP(buffalo power) ไปนิดนึง ปรับไปใช้ loop มาช่วยก็ได้นะคะ
if($tmp3<=9){$tmp4='000' . $tmp3;}
if($tmp3>9&&$tmp3<=99){$tmp4='00' . $tmp3;}
if($tmp3>99&&$tmp3<=999){$tmp4='0' . $tmp3;}
else{$tmp4=$tmp3;}
//ตัว id ต่อไปก็คือ
echo $tmp4;
|
|
|
|
|
Date :
29 ก.พ. 2551 10:14:43 |
By :
StarniC |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้าต้องการนำตัวเลขที่รันแบบอัตโนมัติซึ่งโชว์อยู่ใน Gridview หน้านี้ ไปแสดงที่ label อีกหน้านึง
จะต้องทำอย่างไรดีค่ะ
|
|
|
|
|
Date :
2009-08-07 13:30:55 |
By :
aewwea |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีตัวอย่างแบบเต็ม เพิ่มรหัสที่เป็นตัวอักษร+ตัวเลขขึ้นอัตโนมัติหมัยครับ
|
|
|
|
|
Date :
2009-10-11 13:32:15 |
By :
ncw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากทราบว่า พอผมแอดข้อมูลเข้าไปในฐานข้อมูลแล้ว ประมาณ 10 ชื่อ แล้วผมลบออกหมด พอแอดเข้าไปใหม่ เลข id ก็เริ่มที่ 11 เลยอ่ะครับ จะแก้ยังไงหรอ รบกวนผู้รู้บอกหน่อยนะ
|
|
|
|
|
Date :
2010-07-08 15:45:39 |
By :
chulaleklek |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
//*** Connect to Database **//
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strNextSeq = "";
//*** Check Year ***//
$strSQL = "SELECT * FROM prefix WHERE 1 ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
//*** Check val = year now ***//
if($objResult["val"] == date("Y"))
{
$Seq = substr("00000".$objResult["seq"],-5,5); //*** Replace Zero Fill ***//
$strNextSeq = $objResult["val"]."-".$Seq;
//*** Update Next Seq ***//
$strSQL = "UPDATE prefix SET seq= seq+1 ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
else //*** Check val != year now ***//
{
$Seq = substr("000001",-5,5); //*** Replace Zero Fill ***//
$strNextSeq = date("Y")."-".$Seq;
//*** Update New Seq ***//
$strSQL = "UPDATE prefix SET val = '".date("Y")."' , seq = '1' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
echo $strNextSeq;
mysql_close($objConnect);
?>
</body>
</html>
Go to : PHP Auto Generate Number ตัวอย่างการทำ Auto Number แบบมี รหัส/ตัวอักษร/ปี/เดือน ข้างหน้า
|
|
|
|
|
Date :
2011-06-02 22:25:42 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คห.6 ขอบคุณค่ะ
|
|
|
|
|
Date :
2019-06-12 16:26:55 |
By :
บจ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|