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,037

HOME > PHP > PHP Forum > อยากทราบว่า เลือกหมวดจาก dropdown แล้วให้รันเลขเป็นปี เดือน แล้วตามด้วย 0001



 

อยากทราบว่า เลือกหมวดจาก dropdown แล้วให้รันเลขเป็นปี เดือน แล้วตามด้วย 0001

 



Topic : 109942



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



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




อยากทราบว่า เลือกหมวดจาก dropdown แล้วให้รันเลขเป็นปี เดือน แล้วตามด้วย 0001 เช่น ACC5707001,ACC5707002
ถ้าเป็นหมวดอื่น ให้รัน ADM5707001,ADM5707002 โดยดึงข้อมูลจาก ด้าต้าเบสมาเช็คค่ะ
zz
และ
xxx


Code (PHP)
<?
	mysql_connect("localhost","root","root") or die(mysql_error());
	mysql_select_db("mydatabase");
?>

<script language="JavaScript">
	function resutName(CusID)
	{
		switch(CusID)
		{
			<?
			$strSQL = "SELECT * FROM customer ORDER BY CustomerID ASC";
			$objQuery = mysql_query($strSQL);
			while($objResult = mysql_fetch_array($objQuery))
			{
			?>
				case "<?=$objResult["CustomerID"];?>":
				frmMain.txtName.value = "<?=$objResult["code"];?>";
				
				break;
			<?
			}
			?>
			default:
			 frmMain.txtName.value = "";
		}
	}
</script>

<body>
	<form action="page.php" method="post" name="frmMain">
		List Menu 
		  <select name="lmName1" OnChange="resutName(this.value);">
			<option value=""><-- Please Select Item --></option>
			<?
			$strSQL = "SELECT * FROM customer ORDER BY CustomerID ASC";
			$objQuery = mysql_query($strSQL);
			while($objResult = mysql_fetch_array($objQuery))
			{
			?>
			<option value="<?=$objResult["CustomerID"];?>"><?=$objResult["code"];?></option>
			<?
			}
			?>
		  </select>
		<input name="txtName" type="text" value="">
	</form>

<?
	mysql_close();
?>


ิด



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-15 14:27:14 By : itzalone View : 918 Reply : 18
 

 

No. 1



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



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

ต้องใช้ AJAX หรือ JQUERY ในการส่งค่าไปตรวจสอบข้อมูลอีกทีนะครับไม่สามารถสร้างสคริป PHP ไว้ใน javascript ได้ครับ ทำงานกันอยู่คนละที่ครับ

โครงสร้างเว็บควรเป้นแบบนี้ครับ

Code
Client Server แบบฟอร์ม / ข้อมูลที่แสดงให้ User ดู <--- ไฟล์ PHP แสดงแบบฟอร์ม / ข้อมูลที่แสดงให้ User ดู \/ Javascript (AJAX / JQUERY) ขอตรวจสอบข้อมูล ---- > ไฟล์ PHP ทำการดึงข้อมูลและตรวจสอบข้อมูล \/ Javascript (AJAX / JQUERY) <---- ส่งข้อมูลที่ทำการตรวจสอบ ไฟล์ PHP ทำการดึงข้อมูลและตรวจสอบข้อมูล \/ Javascript กำหนดข้อมูลที่จะแสดงหรือทำงานตามที่เขียนไว้


จากโครงสร้างดังกล่าวก็จะมีทั้งหมด 2 ไฟล์ คือไฟล์ที่เก็บแบบฟอร์มและ javascript ที่จะทำงาน ในเบื้องต้น และไฟล์ที่จะทำการตรวจสอบและส่งข้อมูลกลับมาให้ฝั่งผู้ใช้ครับ








ประวัติการแก้ไข
2014-07-15 15:33:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-15 15:33:07 By : soghband
 


 

No. 2



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



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


PHP ธรรมดาก็สามารถ ทำได้เเล้วครับ

Code (PHP)
<form name="form" action="" method="post">
	<select name="group" Onchange="this.form.submit();">
		.
		.
		.
	</select>
	<!-- จากนั้น ให้เราทำการ SELECT โดยน่าค่า POST ของ group มา เพื่อ เช็คกับฐานข้อมูล ว่า ACC ตอนนี้ รันถึงเลขอะไรแล้ว  โดยให้ WHERE เช็ค ว่า ACC ปีนี้   เดือนนี้  รันถึงเลขอะไรเเล้ว-->
	<?php
		$sql = "SELECT * FROM ..... WHERE .... ORDER BY groupID DESC Limit 0,1";
		.
		.
		//จากนั้น ก็ เอาค่าล่าสุดมาบวก 1 เช่น   จาก ACC5707003 --> ACC5707004 
		//สร้างตัวแปร มาเก็บค่า 1 ตัว เช่น $LastNo = "ACC5707004";
	?>
	<!-- เมื่อได้ค่าล่าสุดมาเเล้ว ให้ นำค่า มาใส่ใน input-->
	<input type="text" name="No" value=<?=$LastNo?>>
</form>



ประวัติการแก้ไข
2014-07-16 20:10:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 20:08:34 By : FreshyMusiC
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : FreshyMusiC เมื่อวันที่ 2014-07-16 20:08:34
รายละเอียดของการตอบ ::
ยังไม่เข้าใจเท่าไรค่ะ แบบละเอียดหน่อยได้ไหมค่ะ เพราะเป็นมือใหม่

ขอบคุณค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 20:42:34 By : itzalone
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : itzalone เมื่อวันที่ 2014-07-16 20:42:34
รายละเอียดของการตอบ ::
ใช้ JQ. ดีแล้วค่ะสะดวกดี .... แต่รูปภาพที่เอาวางไว้เป็นตารางชื่ออะไรค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 21:05:48 By : survivor
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : survivor เมื่อวันที่ 2014-07-16 21:05:48
รายละเอียดของการตอบ ::
ตารางชื่อ customer

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 21:12:40 By : itzalone
 


 

No. 6



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



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


แสดงว่า ACC5707001, จะรันนัมเบอร์เริ่มจาก 001 ในเดือน 07 ปี 57 พอขึ้นเดือน 08 ก็จะนับ 001 ใหม่ แบบนี้หรือเปล่าค่ะ

และถ้าได้ ACC5707001 จะนำไปเก็บที่ฟิวด์ไหนในเทเบิ้ล customer ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 21:16:23 By : survivor
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : survivor เมื่อวันที่ 2014-07-16 21:16:23
รายละเอียดของการตอบ ::
ACC5707001 ถ้าเป็นACC5708007 ก็จะรันต่อไปค่ะ
คืออยากแยก แต่ละหมดค่ะว่ามีกี่คน


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 21:29:21 By : itzalone
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : survivor เมื่อวันที่ 2014-07-16 21:16:23
รายละเอียดของการตอบ ::
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,month now ***//
if($objResult["val"] == date("Y")."-".date("m"))
{
	$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,month now ***//
{
	$Seq = substr("000001",-5,5);   //*** Replace Zero Fill ***//
	$strNextSeq = date("Y")."-".date("m")."-".$Seq;

	//*** Update New Seq ***//
	$strSQL = "UPDATE prefix SET val = '".date("Y")."-".date("m")."' , seq = '1' ";
	$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}

echo $strNextSeq;

mysql_close($objConnect);
?>
</body>
</html>


ถ้าใช้โค้ดนี้จะใช้เงื่อนไขไหนเช็คว่า มันเป็นหมวดอะไร

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 21:31:15 By : itzalone
 


 

No. 9



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



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


แล้วในตาราง customer ฟิวด์ code เป็นตัวเก็บ ACC หรือ ADM หรือเปล่าค่ะ

ขอดูตัวอย่างข้อมูลในตาราง customer ด้วยซิค่ะ


ประวัติการแก้ไข
2014-07-16 21:49:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 21:43:58 By : survivor
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : survivor เมื่อวันที่ 2014-07-16 21:43:58
รายละเอียดของการตอบ ::
เก็บ Code ของรหัส 3ตัวข้างหน้าไว้ค่ะ แค่อยากให้ตัวหลังมัน รันค่าเพิ่มทุกครั้งที่สร้าง
โดยการสร้างแต่ละครั้ง เลือกหมวด แล้วเช็คค่า

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 21:51:01 By : itzalone
 


 

No. 11



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



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


ถ้าอย่างนั้นทดลองตามนี้น่ะค่ะ
<?php
	$link = mysql_connect("localhost","root","root") or die(mysql_error());
	mysql_select_db("mydatabase",$link) or die(mysql_error());
?>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript">
	$(document).ready(function() {
		// จะไม่ใช้ onchange น่ะค่ะ เพราะถ้าไม่มีการเลือกในลักษณะเปลี่ยนค่าไปเลือกค่าอื่นที่ไม่ใช่ค่าเดิม
	// โค้ดชุดนี้จะไม่ส่งคำสั่งไปดึงข้อมูลจากเดต้าเบสเลย...
		$("#lmName1").click(function(){
			var selectedCode = $(this).val();
			if(selectedCode.length > 0){
				$.post("get_latest_id.php",{code:selectedCode},function(newcode){
					$("#txtName").val(selectedCode+newcode);
				});
			}
		});
	});
  </script>

<body>
	<form action="page.php" method="post" name="frmMain">
		List Menu 
		  <select name="lmName1" id="lmName1" >
			<option value=""><-- Please Select Item --></option>
			<?
			$strSQL = "SELECT * FROM customer ORDER BY CustomerID ASC";
			$objQuery = mysql_query($strSQL);
			while($objResult = mysql_fetch_array($objQuery))
			{
			?>
			<option value="<?=$objResult["code"];?>"><?=$objResult["code"];?></option>
			<?
			}
			?>
		  </select>
		<input name="txtName" id="txtName" type="text" value="">
	</form>

<?
	mysql_close();
?>




ไฟล์ get_latest_id.php
<?php
	$link = mysql_connect("localhost","root","root") or die(mysql_error());
	mysql_select_db("mydatabase",$link) or die(mysql_error());
	
	if(isset($_POST["code"])){
		$sql = "select count(*) from customer where code='{$_POST["code"]}' ";
		$res = mysql_query($sql) or die(mysql_error());
		list($latestnum) = mysql_fetch_row($res);
		++$latestnum;
		echo (date("Y")+43-2000).date("m").$latestnum;
	}
?>




ทดลองดูน่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 22:16:29 By : survivor
 


 

No. 12



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


จากตัวอยาง ควรออกแบบ table ใหม่ครับ

แยกฟีลด์ run number กับ Group ID แยกจากกัน

สำหรับ ฟีลด์ run number ก็ให้เป็น fillzero จะได้เป็น 0001 ไม่แสดงแค่ 1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 06:01:18 By : Chaidhanan
 


 

No. 13



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



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


ใช่ค่ะปรับแก้ไฟล์ get_latest_id.php นิดหน่อย
<?php
	$link = mysql_connect("localhost","root","root") or die(mysql_error());
	mysql_select_db("mydatabase",$link) or die(mysql_error());
	
	if(isset($_POST["code"])){
		$sql = "select count(*) from customer where code='{$_POST["code"]}' ";
		$res = mysql_query($sql) or die(mysql_error());
		list($latestnum) = mysql_fetch_row($res);
		++$latestnum;
		echo (date("Y")+43-2000).str_pad(date("m"),2,'0',STR_PAD_LEFT).str_pad($latestnum,4,'0',STR_PAD_LEFT);
	}
?>



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 11:41:27 By : survivor
 


 

No. 14



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : survivor เมื่อวันที่ 2014-07-17 11:41:27
รายละเอียดของการตอบ ::
code แบบ count จำนวน records แล้วเอามาทำเป็น id ไม่่แนะนำครับ เพราะ จะไม่สามารถ ลบ record ได้เลย
จะเป็นขยะเรคคอร์ดต่อไปครับ

ควรใช้ max() แล้ว ตัดเฉพาะ ตัวเลขมา + 1 ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 11:51:07 By : Chaidhanan
 


 

No. 15



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



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


ตอบความคิดเห็นที่ : 14 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-17 11:51:07
รายละเอียดของการตอบ ::
พอดีฝ่ายบัญชีที่บริษัทฯ ขอให้เขียนลักษณะนี้ค่ะ เพราะ อยากให้ระบบสามารถ Undo หรือ Recovery ข้อมูลได้
สาเหตุเพราะเอาไว้จับผิดพนักงานค่ะ...

.... แต่หนูคิดว่า model นี้ก็ไม่เลวน่ะค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 11:58:26 By : survivor
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 14 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-17 11:51:07
รายละเอียดของการตอบ ::
ขอโทษน่ะค่ะ พอดีเป็นคำแนะนำที่เกิดจากความเคยชินของงานที่ทำอยู่ประจำ
เพราะต้องผูกกับรูปแบบบัญชีของกรมสรรพากร

บางที จขกท. อาจไม่ต้องการ ... ลองเขียนตามแนวคุณอา Chaidhanan ก็ได้ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 12:11:09 By : survivor
 


 

No. 17



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


คำว่าไม่แนะนำไม่ได้ห้ามใช้นะครับ มันขึ้นอยู่กับความต้องการและความจำเป็นครับ

แต่ทั้งนี้ทั้งนั้น เราสามารถใช้ primary Auto increment ในการตรวจสอบ record สูญหายไปได้ครับ
เมื่อเราลบจาก table หลัก ก็ควรจะนำไปเพิ่มใน table ที่เป็นแบ็คอัพ ซึ่งมีไว้สำหรับการตรวจสอบ
และสามารถลบทิ้งได้เมื่อถึงเวลาที่กำหนดครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 12:35:13 By : Chaidhanan
 


 

No. 18



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



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


หนูทำเหมือนมาร์กเกอร์ค่ะ บิลใบไหนมีปัญหาก็จัดการ void ซะ
ไม่ได้ย้ายบิลออกจากกล่อง ขี้เกียจจัดการหลายเทเบิ้ลค่ะ
อีกอย่างคือเก็บบิลย้อนหลังไว้แค่ 6 เดือน ส่วนที่ตัดทอนออกไปจะถูกย้ายไปอยู่อีกเดต้าเบสนึง
สำหรับเลขรันนิ่งนัมเบอร์จะรันเฉพาะในเดือนนั้นๆ เลยทำให้ไม่มีปัญหาจากการใช้ count(*)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 13:03:45 By : survivor
 

   

ค้นหาข้อมูล


   
 

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