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 > PHP Auto Generate Number ติดปัญหาอยู่ครับ รบกวนผู้รู้ด้วยครับ



 

PHP Auto Generate Number ติดปัญหาอยู่ครับ รบกวนผู้รู้ด้วยครับ

 



Topic : 119876



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



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




จากตัวอย่าง PHP Auto Generate Number ตัวอย่างการทำ Auto Number แบบมี รหัส/ตัวอักษร/ปี/เดือน ข้างหน้าhttps://www.thaicreate.com/community/php-auto-generate-number.html
พบว่าเวลาขึ้นปีใหม่มันจะเก็บค่าซ้ำ 2 ครั้งอ่ะครับ ต้องปรับ code อย่างไรครับ ตามรูปเลยครับผม


กกก



Tag : PHP, MySQL









ประวัติการแก้ไข
2015-11-12 14:32:45
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-12 14:18:44 By : zadstoms View : 2213 Reply : 12
 

 

No. 1



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



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

https://www.thaicreate.com/community/forum/110046.html






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-12 14:37:57 By : NewbiePHP
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-11-12 14:37:57
รายละเอียดของการตอบ ::
ต้องเอา code จากลิงก์ไปใส่ตรงไหนหรอครับ งง
อันนี้คือ code จากเว็บตัวอย่างเอามาปรับอ่ะครับ
ขอบคุณครับท่าน
Code (PHP)
<?php
if(isset($_POST['submits'])){
//*** พ.ศ. ***//
function thai_year($time){
    $thai_date_return.=(date("Y",$time)+543);
    return $thai_date_return;
}
//*** Connect to Database **//
require dirname('connect.php') . '/connections/connect.php';

$strNextSeq = "";

//*** Check Year ***//
$strSQL = "SELECT * FROM gsfs WHERE 1 ";
$objQuery = mysqli_query($con,$strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysqli_fetch_array($objQuery);

//*** Check val = year now ***//
if($objResult["val"] == thai_year(time()))
{
	$Seq = substr("0000".$objResult["seq"],-4,4);   //*** Replace Zero Fill ***//
	$strNextSeq = $objResult["val"]."-".$Seq;

	//*** Update Next Seq ***//
	$strSQL = "UPDATE gsfs SET seq= seq+1 ";
	$objQuery = mysqli_query($con,$strSQL) or die ("Error Query [".$strSQL."]");
	$insert_data = "insert into test(test)
	VALUES ('".$strNextSeq."')";
	mysqli_query($con,$insert_data);
}
else  //*** Check val != year now ***//
{
	$Seq = substr("00001",-4,4);   //*** Replace Zero Fill ***//
	$strNextSeq = thai_year(time())."-".$Seq;

	//*** Update New Seq ***//
	$strSQL = "UPDATE gsfs SET val = '".thai_year(time())."' , seq = '1' ";
	$objQuery = mysqli_query($con,$strSQL) or die ("Error Query [".$strSQL."]");
	$insert_data = "insert into test(test)
	VALUES ('".$strNextSeq."')";
	mysqli_query($con,$insert_data);
}

mysqli_close($con);
}
?>




ประวัติการแก้ไข
2015-11-12 14:45:34
2015-11-12 15:02:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-12 14:44:28 By : zadstoms
 

 

No. 3



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



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

อันนี้เป็นส่วน สำหรับ insert
Code (SQL)
insert into test 
SELECT
	null,
	CONCAT(y,'-', SUBSTR( idx+10000,2)), 
		'$refer_id', '$year_thai', '$date_thai','$note1', '$note2'
FROM (
	SELECT LEFT(gsf_de_num, 4) y, RIGHT(gsf_de_num,4)+1 idx FROM test order by gsf_de_num desc limit 1 
	union all SELECT YEAR(NOW()), 1
) n order by y desc limit 1


วิธีการต่างกันน่ะครับ ผมเอา บทความนั้นมาประยุกต์นิดหน่อย
อันนี้ไม่ต้อง มีตารางเก็บ ปี seq รันต่อไปเรื่อยๆ
หรือจะทำให้มี ตารางเก็บ last_id ก็ได้ครับ ป้องกัน การใช้ id เก่า
ประยุกต์เอาเองนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-12 15:43:23 By : NewbiePHP
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-11-12 15:43:23
รายละเอียดของการตอบ ::
เอาไปใส่ใน <?php ?> เลยหรอครับ หรือต้องแปลงเป็น php ก่อน
เพราะดูจาก https://www.thaicreate.com/community/forum/110046.html เหมือนเป็นคำลั่ง sql เฉยๆ
ผมเลยงงครับ รบกวนช่วยให้กระจ่างทีครับ



ประวัติการแก้ไข
2015-11-12 16:14:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-12 15:53:01 By : zadstoms
 


 

No. 5



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



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

ครับเป็นคำสั่้ง sql เฉย หาคำสั่ง insert ให้เจอว่าอยู่ที่ไหน
แล้วเอาโค๊ดของผมไปประยุกต์ใช้ครับ จะได้ไม่ต้อง ไปยุ่งกับ ตาราง prefix
ถ้าไม่ซีเรียสกับการลบ id สุดท้ายแล้ว ต้องใช้ id เก่าอีก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-12 16:02:05 By : NewbiePHP
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-11-12 16:02:05
รายละเอียดของการตอบ ::
สงสัยจะไปไม่รอดครับ งง กว่าเดิมที่ว่าหาคำสั่ง insert ให้เจอ มันก็ insert into test นิครับ 555 งงไปหมด
หรือว่าหมายถึงคำสั่ง insert จากเว็บตัวอย่างของท่าน win



ประวัติการแก้ไข
2015-11-12 16:13:57
2015-11-12 16:14:01
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-12 16:08:39 By : zadstoms
 


 

No. 7



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



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

insert แค่ field เดียว นี่เหรอครับ เป็นตารางมีตั้งหลายฟีลด์ แล้ว insert ยังไงครับเนี่ย ถึงได้ออกมาเยอะขนาดนั้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-12 17:32:21 By : NewbiePHP
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-11-12 17:32:21
รายละเอียดของการตอบ ::
ออกหมายถึง insert ของผมสินะ
แล้วพอจะแปลง code จาก sql เป็น php ให้ได้ไหมครับ อิอิ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-13 08:37:17 By : zadstoms
 


 

No. 9



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



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

select ค่ามาแล้วไป update db แล้วเอามา insert อีกทีหรอคับ

code ของท่าน NewbieXYZ น่าจะเอาไปทับแทน code

select > update > insert ทั้งหมดนั่นแหละคับ

เอาไปใช้แทนเลย

แต่ต้องเขียน ส่วนของ update อีกทีมั้งคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-13 10:04:24 By : progamer2000
 


 

No. 10



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



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

ก็เอาโค๊ดที่ทำไว้ มาให้ดูสิครับ จะได้แนะนำต่อได้
ผมไม่ค่อยชอบทำให้ แต่ชอบช่วยแก้ไขโค๊ดให้ครับ
อย่างน้อยเห็นโค๊ดพอจะมีไอเดียเพิ่มเติมให้ได้
ไม่เห็นโค๊ดนี้สมองคิดไม่ออก เพราะงานตัวเองนี่ก็คิดจนหัวบวมไปแล้ว
มาคิดให้คนอื่นเพิ่มอีกนี่จากบวมมันจะแฟปไปเลยเพราะไม่ได้ตัง 5555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-13 10:43:42 By : NewbiePHP
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-11-13 10:43:42
รายละเอียดของการตอบ ::
ประมาณนี้ครับ เอาจากตัวอย่างมาปรับเทสครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
//*** พ.ศ. ***//
function thai_year($time){
    $thai_date_return.=(date("Y",$time)+543);
    return $thai_date_return;
}
//*** Connect to Database **//
require dirname('connect.php') . '/connections/connect.php';

$strNextSeq = "";

//*** Check Year ***//
$strSQL = "SELECT * FROM gsfs WHERE 1 ";
$objQuery = mysqli_query($con,$strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysqli_fetch_array($objQuery);

//*** Check val = year now ***//
if($objResult["val"] == thai_year(time()))
{
	$Seq = substr("0000".$objResult["seq"],-4,4);   //*** Replace Zero Fill ***//
	$strNextSeq = $objResult["val"]."-".$Seq;

	//*** Update Next Seq ***//
	$strSQL = "UPDATE gsfs SET seq= seq+1 ";
	$objQuery = mysqli_query($con,$strSQL) or die ("Error Query [".$strSQL."]");
	$insert_data = "insert into test(test)
	VALUES ('".$strNextSeq."')";
	mysqli_query($con,$insert_data);
}
else  //*** Check val != year now ***//
{
	$Seq = substr("00001",-4,4);   //*** Replace Zero Fill ***//
	$strNextSeq = thai_year(time())."-".$Seq;

	//*** Update New Seq ***//
	$strSQL = "UPDATE gsfs SET val = '".thai_year(time())."' , seq = '1' ";
	$objQuery = mysqli_query($con,$strSQL) or die ("Error Query [".$strSQL."]");
	$insert_data = "insert into test(test)
	VALUES ('".$strNextSeq."')";
	mysqli_query($con,$insert_data);
}

echo $strNextSeq;

mysqli_close($con);
?>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-13 11:52:25 By : zadstoms
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : progamer2000 เมื่อวันที่ 2015-11-13 10:04:24
รายละเอียดของการตอบ ::
คือผมเอาค่าที่ได้จากตัวอย่างไปบันทึกลงอีก table อ่ะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-13 11:53:27 By : zadstoms
 

   

ค้นหาข้อมูล


   
 

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