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 > เกี่ยวกับการข้อมูลใน Colmun แต่จะดึงแบบไม่ทั้งหมด ค่อนข้างยากครับไม่รู้ว่า จะมีใครทำได้หรือป่าว



 

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

 



Topic : 111596



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



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




ผมจะยกสคลิปตัวอย่างก่อนนะครับ
สมมุดว่าผมสร้าง Table = T001 และ สร้าง Colmun = C001
แต่ C001 ผมจะตั้งเป็น varbinary(10) สมมุดว่าข้อมูลในนั้นคือ 0123456789

ผมสร้างคำสั่งเรียกเก็บข้อมูลไว้ก่อน แต่ปัญหาคือ ผมต้องเรียกเก็บแค่ 0123 แต่ 456789 ไม่เอาสามารถทำได้ไหม จะต้องเขียนยังไง

Code
$result = mssql_query('SELECT C001 FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
list($C001)=mssql_fetch_row($result);
$result2=$result;


จากนั้นผมจะทำการใช้คำสั่งอัพเดต โดยดึงค่าที่ผมเก็บไว้ข้างบนลงมา คือจะเป็นแค่ 4 หลัง แล้วมาผสมกับหลักที่เหลือใหม่โดยกำหนดเอง

Code
$sql="Update T001 Set C001 = '".$result2."'027454 WHERE User=\''.$GLOBALS['user'].'\''
$query=mssql_query($sql);


ประมาณนี้พอมีหนทางไหมครับ



Tag : PHP, MySQL, Ms SQL Server 2008, CakePHP, Reporting Service







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-09-28 08:07:17 By : valentine25 View : 1099 Reply : 19
 

 

No. 1



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

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

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

เรียบเรียงคำถาม แล้วเอามาถามอีกรอบดีกว่าครับ ผมอ่านสองรอบ แต่ยัง งง ว่าจะ select หรือ insert งง จริงๆ
อ่อ..แล้ว ก็ สมมุติ ไม่ใช่ สมมุด น่ะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-28 13:40:17 By : mangkunzo
 


 

No. 2



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



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


เคยทำอยู่คือ select มันออกมาแล้วใช้ substr ตัดให้เหลือแค่ 4ตัวแรก เก็บใส่ตัวแปร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-28 17:37:23 By : ginuwine72
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : ginuwine72 เมื่อวันที่ 2014-09-28 17:37:23
รายละเอียดของการตอบ ::
ผมของตัวอย่างสคลิปหน่อยครับ ว่าเราต้องใช้ยังไง แบบว่าเวลาจะตัด มันจะตัดจาก หน้าไปหลังใช่ไหมประมาณนี้ใช่ไหมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-28 18:06:08 By : valentine25
 


 

No. 6



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



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


กระทู้ที่ 4 - 5 เข้าที่ผิดป่าว เอาคลิปโป้มาโพสทำไม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 02:34:11 By : valentine25
 


 

No. 7



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



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


ผมดูแล้วคิดว่าน่าจะคล้ายๆกับแบบนี้ http://www.narisa.com/forums/index.php?showtopic=33519
แต่ไม่รู้ว่า ถ้าผมต้องจะตัดกับคำสั่งของผมในตัวอย่างต้องทำยังไง
ใครก็ได้ช่วยหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 04:12:07 By : valentine25
 


 

No. 8



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



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


https://www.thaicreate.com/community/forum/110046.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 06:59:01 By : Chaidhanan
 


 

No. 9



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-29 06:59:01
รายละเอียดของการตอบ ::
ขอคำอธิบายที่ละเอียดกว่านี้ได้ไหมครับ ผมยังไม่เก่งเท่าไรเรื่องนี้
สมมุติว่าตามสคลิปของผมข้างบน ถ้าผมจะแก้ต้องเขียนประมาณไหนครับ ถ้าผมต้องการหลักที่ 0123 และหลังจากนั้นไม่เอา หรือ ถ้าผมต้องการแบบ หลักที่ 6789 อะไรประมาณนี้่ครับ

ขอบคุณมากครับ

$result = mssql_query('SELECT C001 FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
list($C001)=mssql_fetch_row($result);
$result2=$result;



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 08:42:42 By : valentine25
 


 

No. 10



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



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


select substr('1234567890', 1,4) as fld_1234, substr('1234567890', 5,3) as fld_567
ลองเอาไป ทดสอบดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 09:22:53 By : Chaidhanan
 


 

No. 11



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


ผมไม่ได้เรียนด้านโปรแกรมเมอร์มาตรง ๆ เลยสงสัยว่า
ที่ถามมานี้ จริง ๆ มันเรียกว่า สคริป หรือ โค้ด กันแน่ครับ
หรือเรียกได้ 2 อย่าง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 11:19:05 By : apisitp
 


 

No. 12



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



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


สคริป ก็คือ code ที่นำมาจัดเรียงเพื่อทำงานหนึ่งๆ
ซึ่งโปรแกรมเมอร์รุ่นเก่าเขาเรียกว่า โปรแกรม
หลายๆ โปรแกรมรวมกัน เรียกว่า application

แต่ก็แล้วแต่จะเรียกอะนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 11:37:07 By : Chaidhanan
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-29 09:22:53
รายละเอียดของการตอบ ::
ผมงงกับสคลิป ต้องเขียนประมาณนี้หรอครับ

$result = mssql_query('SELECT substr('1234567890', 1,4) as fld_1234, substr('1234567890', 5,3) as fld_567
C001 FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
list($C001)=mssql_fetch_row($result);
$result2=$result;

1234567890 ในกรณีที่ผมยกตัวอย่างมา แต่ของจริงมันใช้หมดเลย A ถึง Z และ 0 ถึง 9 ต้องเขียนแบบนี้ป่าว
substr('aA-Zz0-9', 1,4 ส่วน 1,4 นี้หมายถึง นับจากตัวแรกมาถึงตัวที่สี่ใช่ป่าวครับ
สมมุติว่า Ad84z168r4y ผมที่มันจะเก็บค่าคือ Ad84 ใช่ไหมครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 20:14:23 By : valentine25
 


 

No. 14



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

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

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

ใช้ Function LEFT เอาครับจะเอากี่ตัวก็ระบุเอาครับ
Code (PHP)
<?php 
	$result = mssql_query('SELECT LEFT(C001,4) AS SUB_C001  FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
	list($C001)=mssql_fetch_row($result);
	$result2=$result;
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 21:01:49 By : Krungsri
 


 

No. 15



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



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


ทดสอบ โค๊ด PHP
Code (PHP)
$result=mssql_query('select substr('1234567890', 1,4) as fld_1234, substr('1234567890', 5,3) as fld_567');
$ro=mssql_fetch_assoc($result);
print_r($ro);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 21:19:32 By : Chaidhanan
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 14 เขียนโดย : Krungsri เมื่อวันที่ 2014-09-29 21:01:49
รายละเอียดของการตอบ ::
ขอบคุณมากเลยครับ เดียวผมไปลองดู ^_^


ตอบความคิดเห็นที่ : 15 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-29 21:19:32
รายละเอียดของการตอบ ::
ขอบคุณมากเลยครับ เดียวผมไปลองดู ^_^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 22:41:49 By : valentine25
 


 

No. 17



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



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


ถามต่อีกนิดนึงครับ ถึงขั้นตอนการอัพเดต ผมจะแก้ยังไง ผมลองมั่วๆแล้วมัน error ต้องแก้ไขส่วนไหนครับ

$result = mssql_query('SELECT LEFT(C001,4) AS SUB_C001 FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
list($C001)=mssql_fetch_row($result);
$result2=$result;

$sql="Update T001 Set C001 = '".$result2."'0274548 WHERE User=\''.$GLOBALS['user'].'\''
$query=mssql_query($sql);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-29 23:49:08 By : valentine25
 


 

No. 18



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



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


$result = mssql_query('SELECT LEFT(C001,4) AS SUB_C001 FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
list($C001)=mssql_fetch_row($result);
$result2=$result;

$sql="Update T001 Set C001 = '".$result2."'0274548 WHERE User=\''.$GLOBALS['user'].'\''
$query=mssql_query($sql);


ดูท่าจะมีปัญหาซับซ้อนกับการคร่อมโขด เรียงใหม่ง่ายๆครับผสมข้างนอกให้เสร็จค่อยเข้ามาข้างใน

Code (PHP)
$result = mssql_query('SELECT LEFT(C001,4) AS SUB_C001 FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
list($C001)=mssql_fetch_row($result);
$result2=$result;
$AAA = $result2."0274548";
$sql="Update T001 Set C001 = '$AAA' WHERE User=\''.$GLOBALS['user'].'\''
$query=mssql_query($sql);



ประวัติการแก้ไข
2014-09-30 00:15:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-30 00:14:46 By : meannerss
 


 

No. 19



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



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


ตอบความคิดเห็นที่ : 18 เขียนโดย : meannerss เมื่อวันที่ 2014-09-30 00:14:46
รายละเอียดของการตอบ ::
ถ้ามันขึ้นแบบนี้ต้องแก้ยังไงครับ
implicit conversion from datatype varchar to varbinary is not allowed. Use the CONVERT to run this query

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-30 00:49:10 By : valentine25
 


 

No. 20



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



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


list($C001)=mssql_fetch_row($result);
$result2=$result;
สองบันทัดบน ผมไม่เคยเขียนโค๊ดแบบนี้นะครับ ไว้จะลองดู
แต่ผมจะเขียนแบบนี้
Code (PHP)
$row=mssql_fetch_assoc($result); 
// ผมใช้ fetch_assoc แทน fetch_row นะครับ 
// เพราะผมใช้ ชื่อในการควบคุมตัวแปรอย่างเดียว ไม่ได้ใช้ลำดับที่
$sql="Update T001 Set C001 = '$row[C001]0274548' WHERE User='$GLOBALS[user]' ";
$query=mssql_query($sql);



และโค๊ดทั้งหมดนี้ที่คุณเขียนมา
$result = mssql_query('SELECT LEFT(C001,4) AS SUB_C001 FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
list($C001)=mssql_fetch_row($result);
$result2=$result;

$sql="Update T001 Set C001 = '".$result2."'0274548 WHERE User=\''.$GLOBALS['user'].'\''
$query=mssql_query($sql);
เขียนได้แบบนี้ครับ

Code (PHP)
$sql="Update T001 Set C001 =CONCAT( LEFT(C001,4), '0274548') WHERE User='$GLOBALS[user]' ";
$query=mssql_query($sql);



ประวัติการแก้ไข
2014-09-30 07:12:38
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-30 07:11:31 By : Chaidhanan
 


 

No. 21



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



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


ตอบความคิดเห็นที่ : 20 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-09-30 07:11:31
รายละเอียดของการตอบ ::

- โค๊ตแรกทดสอบแล้วขึ้น error
Code (PHP)
$row=mssql_fetch_assoc($result); 
// ผมใช้ fetch_assoc แทน fetch_row นะครับ 
// เพราะผมใช้ ชื่อในการควบคุมตัวแปรอย่างเดียว ไม่ได้ใช้ลำดับที่
$sql="Update T001 Set C001 = '$row[C001]0274548' WHERE User='$GLOBALS[user]' ";
$query=mssql_query($sql);

implicit conversion from datatype varchar to varbinary is not allowed. Use the CONVERT to run this query

- โค๊ตสองทดสอบแล้วขึ้น error
Code (PHP)
$sql="Update T001 Set C001 =CONCAT( LEFT(C001,4), '0274548') WHERE User='$GLOBALS[user]' ";
$query=mssql_query($sql);

'concat' is not a recognized built-in function name.

น่าจะเกี่ยวกับว่าที่ตารางเป็น varbinary ด้วยป่าวครับ ผมลองค้นหาดูมันต้องใช้คำสั่ง
Code (PHP)
CONVERT(varbinary(max), $AAA) หรือ CONVERT(varbinary(จำนวน), $AAA)

แต่ผมไม่รู้ว่าจะมาประยุกต์ใช้งานยังไงดี เพราะระบบที่ผมเขียนตอนนี้ช่องที่ใช้เป็น varbinary รูปแบบที่ต้องการคือ
สมมุติตัวอย่างข้อความในช่อง 0x0123456789ABCDEF
แต่ผมจะตัดเอาแค่หัวกับท้าย แล้วมาสร้างคำสั่งอัพเดตใหม่ ประมาณว่า 0x0123xxxxxxxxCDEF

ตอนนี้ผมลองใช้คำสั่งมั่วๆ พออัพเดตไปใช้งานได้ครับ
แต่ยังไม่ตรงกับความต้องการที่ผมจะโอนค่าของเก่ามาใช้หัวกับท้าย และเปลี่ยนแค่ช่วงกลาง
Code (PHP)
		$sql="UPDATE T001 SET [C001]= CONVERT(varbinary(16), 0xFFFFFFFFFFFFFFFF)
		WHERE User='$GLOBALS[user]'";
		$query=mssql_query($sql);


จากนั้นผมลองประยุกต์มาใช้ ตัวที่เราเก็บค่าเอาไว้ สามารถ update สามารถอัพเดตผ่านได้
แต่รับที่ออกมาค่าที่ update ไปเลยมั่วครับ
Code (PHP)
	$result = mssql_query('SELECT LEFT(C001,6) AS SUB_C001  FROM T001 WHERE User=\''.$GLOBALS['user'].'\'');
//	list($C001)=mssql_fetch_row($result);
//	$result2=$result;
	$row=mssql_fetch_assoc($result); 

	$AAA = $result2 . "FFFFFFFFFFFF";

		$sql="UPDATE T001 SET [C001]= CONVERT(varbinary(16), '$AAA' )
		WHERE User='$GLOBALS[user]'";
		$query=mssql_query($sql);


ต้องรบกวนพวกพี่ๆแล้วครับ ผมยังไม่ได้นอนแหะๆ นั่งมั่ว code ทั้งคืนยังไม่ผ่านสักที
ยังไงก็ขอบคุณพวกพี่ๆนะครับ ที่สละเวลามาสอนผม ขอบคุณมากครับ



ประวัติการแก้ไข
2014-09-30 09:11:50
2014-09-30 09:12:56
2014-09-30 09:14:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-30 09:10:10 By : valentine25
 

   

ค้นหาข้อมูล


   
 

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