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

HOME > PHP > PHP Forum > การรันตัวเลขที่มีรูปแบบเป็น string ในฐานข้อมูลเก็บเป็น varchar คืออยากให้เลขที่รันออกมามี 4 หลัก



 

การรันตัวเลขที่มีรูปแบบเป็น string ในฐานข้อมูลเก็บเป็น varchar คืออยากให้เลขที่รันออกมามี 4 หลัก

 



Topic : 042602



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



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



ในฐานข้อมูลเก็บเป็น varchar

คืออยากให้เลขที่รันออกมามี4หลัก โดยเริ่มจาก0001
แต่ในกรณี แรกสุดที่ยังไม่มีข้อมูลใน เราจะทำอย่างไรคะ ที่พอกดเซฟ
ให้เลข idนั้น+1แล้วไปเก็บในฟิลด์ id โดยเป็น0001พอกดadd ข้อมูลใหม่ก็ให้เลขidเป็น0002



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-05-09 10:04:32 By : SG14 View : 3943 Reply : 8
 

 

No. 1

Guest


https://www.thaicreate.com/php/forum/027628.html


ใช้ select max ครับ ดูตัวอย่างที่ความเห็นที่ผมเขียนไว้ครับ






Date : 2010-05-09 11:00:38 By : deawx
 


 

No. 2



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



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

Code (PHP)
$sql="select max(DF_No) from addall";
	$result=mysql_query($sql);
	$r=mysql_fetch_array($result);
	$id_max=$r[0]+1;
echo str_pad($id_max, 4, "0", STR_PAD_LEFT);


ใส่ไว้ตรงหน้า saveหรือ addอะคะเพราะในหน้า save มีการใช้ insert แล้วโดยใช้ sql ไปแล้วคือมันซ้ำได้หรอคะ
ไว้ในหน้า add ก็ error
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
แต่มันก็ echo 0001ออกมานะคะ
แต่กดจะเซฟครั้งที่2เลขก็ไม่เห็นจะรันเลย
Date : 2010-05-09 11:19:12 By : SG14
 

 

No. 3



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



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

คือขั้นตอนที่เราต้องการเป็นดังนี้
รับค่าในหน้า add ค่าว่าง (ในdb ว่างเปล่ายังไม่มีอะไรเลย)
เซฟค่าในหน้า save ค่าว่าง (insert ค่าว่างลงฟิลด์ id)
ทำการ+1ในหน้า save ค่าก็จะเป็น 0001 แล้วไป update 2ตาราง ในฟิลด์id ก็จะเป็น 0001 ทั้ง2ตาราง

เสร็จแล้วถ้าเรากด add อีกมันก็จะรันเป็น 0002ไปเรื่อยๆ

เขาทำยังไงอะคะ
Date : 2010-05-09 11:43:08 By : SG14
 


 

No. 4



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

<?
	/**
	* Configuration connect to server
	* Connect to localhost
	* Set server name
	* Set database name
	* Set user name
	* Set user password
	* -------------- Database for demo ------------
	-- 
	-- โครงสร้างตาราง `test`
	-- 
	
	CREATE TABLE `test` (
		`id` int(10) NOT NULL auto_increment,
		`name` varchar(10) default '',
		PRIMARY KEY  (`id`)
	) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
	
	-- 
	-- dump ตาราง `test`
	-- 
	
	INSERT INTO `test` VALUES (1, 'AAAA');
	INSERT INTO `test` VALUES (2, 'BBBB');
	INSERT INTO `test` VALUES (3, 'CCCC');
	*/	
	$serv_name = "localhost";		// <-- Your localhost
	$dbas_name = "";			// <-- Your database name
	$user_name = "root";				// <-- Your user name
	$user_pass = "1234";				// <-- Your user name
	
	
	$conn = @mysql_connect($serv_name, $user_name, $user_pass) or die
					("ERROR : ไม่สามารถติดต่อเซิฟเวอร์ ได้ค่ะ!!!<br /> Mysql report : ".mysql_error());		// <-- Create connection 
	@mysql_select_db($dbas_name, $conn) or die
					("ERROR: ไม่สามารถเลือกฐานข้อมูล ได้ค่ะ!!!<br /> Mysql report : ".mysql_error());		// <-- Select database
	@mysql_query("SET NAMES UTF8") or die
					("ERROR : ไม่สามารถเซ็ตอ็นโค๊ดดิ้ง ได้ค่ะ!!!<br /> Mysql report : ".mysql_error());		// <-- Set database encoding
					
	// --------------------------------------------------------------------------------------------------------------
	
	/* ------------------- Show data from table test ------------------*/
	$reslut = mysql_query('SELECT * FROM test') or die  (mysql_error());
	echo ' &nbsp; ID  &nbsp; &nbsp; &nbsp; Name', '<br />';
	if($reslut) {
		while($row = mysql_fetch_assoc($reslut)){
			echo sprintf("%04d", $row['id']), ' &nbsp; &nbsp; &nbsp; ', $row['name'], '<br />';
			
			// คำสั่งใส่เลข 0 ด้านหน้าตัวเลข sprintf("%04d", $row['id']) 
		}
	}
	// -----------------------------------------------------------------
	
	/* ------------------- Insert name to table test ------------------*/
	if($_POST['submit']) {
		mysql_query("INSERT INTO test (id, name) VALUES('', '{$name}')") or die (mysql_error());
	}
	// ------------------------------------------------------------------
	
	// debuging post variable
	//echo '<pre>'; print_r($_POST); echo '</pre>';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="" method="post">
	<input type="text" name="name"  />
  <input type="submit" name="submit" value="submit" />
</form>
</body>
</html>


Demo

ไม่รู้ว่าตรงความต้องการหรือเปล่า อ่านแล้วงง เอิ๊กๆ เอิ๊กๆ
Date : 2010-05-09 18:29:36 By : DownsTream
 


 

No. 5



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



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

คะ แล้วเราจะ+ค่าได้อย่างไรอะคะ
Date : 2010-05-09 20:15:24 By : SG14
 


 

No. 6



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ไม่จำเป็นต้อง + ค่าครับ

กำหนด database ให้มันบวกเองอัตโนมัติ

auto_increment
Date : 2010-05-09 20:34:10 By : DownsTream
 


 

No. 7



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



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

ตอนนี้เราทำดังนี้
ใน db

type = int
length = 4
attributes = unsigned zerofill
extra = auto increment

เหมือนกันหรือไม่คะ
Date : 2010-05-09 20:56:06 By : SG14
 


 

No. 8



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ถ้า attributes = unsigned zerofill
ก็ไม่ต้องใช้คำสั่งนี้ครับ sprintf("%04d", $row['id']);

สั่ง echo $row['id']; ได้เลย เพราะว่า database แปลงเรียบร้อยลแล้วครับ

กรณีของผมคือ เอามาแปลงทีหลัง
Date : 2010-05-09 21:12:53 By : DownsTream
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การรันตัวเลขที่มีรูปแบบเป็น string ในฐานข้อมูลเก็บเป็น varchar คืออยากให้เลขที่รันออกมามี 4 หลัก
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่