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 > การเรียงข้อมูลในตารางข้อมูล ช่วยสอนหน่อยนะ สมมุติว่า มีตารางที่โชว์ข้อมูล มี Tab หัวข้อและมีข้อมูล



 

การเรียงข้อมูลในตารางข้อมูล ช่วยสอนหน่อยนะ สมมุติว่า มีตารางที่โชว์ข้อมูล มี Tab หัวข้อและมีข้อมูล

 



Topic : 035565



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



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




สมมุติว่า มีตารางที่โชว์ข้อมูล มี Tab หัวข้อและมีข้อมูลแต่ละฟิลด์เรียงลงมา เช่น

รหัส ประเภทสถานที่ ชื่อสถานที่ ไอคอน ภาพ ที่อยู่

อยากทำอย่างเช่นว่า เมื่อคลิ๊กที่ ประเภทสถานที่ ข้อมูลก็จะเรียงตามตัวอักษรให้ เพื่อจะได้เรียงตามแต่ละประเภทนั้นๆ

ประมาณนี้นะคะ ทำอย่างไรกันหรอ มีตัวอย่างให้ดูก็ดีคะ ขอบคุณคะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-12-10 10:47:56 By : KhemTiD View : 1435 Reply : 9
 

 

No. 1



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

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

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


ยังไง หนา

ก็ใช้ ORDER BY place ASC

แบบนี้หรือเปล่าที่ต้องการ






Date : 2009-12-10 11:01:03 By : yomaster
 


 

No. 2



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



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




อันนี้เป็นหัวข้อแต่ละแถวนะ ที่อยากทำก็เช่น คลิ๊กที่ ประเภท แล้วข้อมูลที่มีอยู่ในแถวนั้นจะเรียงตามตัวอักษร
Date : 2009-12-10 11:19:48 By : KhemTiD
 

 

No. 3



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

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

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


อ๋ออออ

ตามความคิดผม และ ที่ผมเคยทำมาแบบดิบๆ เลยนะครับ ^-^

ในส่วนของตรงตารางสีน้ำเงินๆ

แต่ละหัวข้อ

เช่น ประเภท

ผมก็จะใส่ลิงค์ เข้าไป เป็น
<a href="?sortby=category&type=ASC" title="เรียงลำดับ">ประเภท</a>
ส่วนตัวเลือกอื่นๆ ก็เหมือนกัน

เปลี่ยนตรง sortby=category&type=ASC เป็น sortby=place&type=ASC

ประมาณนี้นะ

และจากนั้นก็เอาไปเข้าเงื่อนไข $sql

สมมติ ตอนแรกที่เปิดไฟล์มา ผมก็จะให้มันเช็คข้อมูลแบบนี้

$sortby=$_REQUEST[sortby];
$type=$_REQUEST[type];

if(empty($sortby)){
$sql="SELECT * FROM $table";
}else{
$sql="SELECT * FROM $table ORDER BY $sortby $type";
}

$query=mysql_db_query($dbname,$sql);


ที่ผมทำมา ก็ประมาณนี้ นะครับ ยังไง ลองเอาไปปรับใช้ดูครับผม

ปล. sortby ทั้ง category และ place คือ ชื่อ คอลัมน์ หรือ ฟิลด์ ในตารางของคุณเองนะครับ ^-^
Date : 2009-12-10 12:36:17 By : yomaster
 


 

No. 4



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



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


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

Code (PHP)
<TR>
  <th align="center"><div align="center" class="style1">ลำดับที่</div></th>
  <th align="center"><div align="center" class="style1">ประเภท</div></th>
  <th align="center"><div align="center" class="style1">ชื่อสถานที่</div></th>
  <th align="center"><div align="center" class="style1">สัญลักษณ์</div></th>
  <th align="center"><div align="center" class="style1">รูปภาพ</div></th>
</TR>


ว่าแต่ sortby คือชื่อของอะไรหรอคะ ของหนูอย่างเช่น หนูจะทำในส่วนของประเภท เป็นฟิลด์ loc_type
อยู่ในฐานข้อมูล location เอาไปเปลี่ยนกับตัวแปล place ที่พี่แนะนำมาใช่ไหมคะ
Date : 2009-12-10 13:40:45 By : KhemTiD
 


 

No. 5



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

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

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


ก็เปลี่ยนเป็นแบบนี้นะครับ

Code
<TR>
<th align="center"><div align="center" class="style1"><a href="?sortby=loc_type&type=ASC" title="เรียงลำดับ">ประเภท</a></div></th>
</TR>

//อันอื่น ก็ เพิ่มเอาได้เลย แต่ถ้าไม่ทำกับอันอื่น ก็เพิ่มแค่ตัวเดียว


ทีนี้ พอเอามา Query ก็จะได้เป็น

Code (PHP)
$sortby=$_REQUEST[sortby];
$type=$_REQUEST[type];

if(empty($sortby)){ // กรณีที่ไม่ได้กด เรียงลำดับ
$sql="SELECT * FROM location";
}else{ // กรณีที่กดเรียงลำดับ
$sql="SELECT * FROM location ORDER BY $sortby $type";
}



ปล. sortby คือ ตัวแปร ที่ทำขึ้นมาเพื่อรับ สิ่งที่จะเรียงลำดับครับ
ส่วน type ก็คือ ตัวแปรรับ ประเภท การเรียงลำดับ ASC= จากน้อยไปมาก DESC= จากมากไปน้อย
เช่นโค้ด ด้านบน จะเรียงลำดับ loc_type ก็จะได้
sortby=loc_type ไงครับ


ทีนี้ก็เอาไปเข้าเงื่อนไข ตามต้องการครับ ^-^

หรือ ถ้า จะเรียงลำดับเฉพาะ loc_type อย่างเดียว ก็อาจจะเขียน link ไป ดังนี้

Code (PHP)
//เช็คค่า type ก่อน
if($type=="ASC"){
 $link="DESC";
 $text="จากมากไปน้อย";
}elseif($type=="DESC"){
 $link="ASC";
 $text="จากน้อยไปมาก";
}


ในส่วนของ link ก็เปลี่ยนเป็น
<a href="?type=<?=$link;?>" title="<?=$text;?>">ประเภทสินค้า</a>

ใน Query ก็เปลี่ยนเป็น
Code (PHP)
if(empty($type)){ // กรณีที่ไม่ได้กด เรียงลำดับ
$sql="SELECT * FROM location";
}else{ // กรณีที่กดเรียงลำดับ
$sql="SELECT * FROM location ORDER BY loc_type $type";
}


ประมาณนี้ นะครับผม

หรือยังไง โพสต์ โค้ด แสดงข้อมุลหน้านี้ มาหน่อยครับ จะได้ช่วยๆ ดูให้ครับ
Date : 2009-12-10 13:59:28 By : yomaster
 


 

No. 6

Guest


งั้นให้พี่ดูโค้ดนะ ก๊อบเฉพาะที่เกี่ยวข้องมาให้ดูนะคะ

Code (PHP)
    <DIV id=orderDIV>
		<TABLE cellSpacing=1 cellPadding=3 width="100%" align=center >
		<TBODY>
		<TR bgcolor="#003399" >
			<th align="center"><div class="style1">ลำดับที่</div></th>
			<th align="center"><div class="style1">ประเภท</div></th>
			<th align="center"><div class="style1">ชื่อสถานที่</div></th>
			<th align="center"><div class="style1">สัญลักษณ์</div></th>
			<th align="center"><div class="style1">รูปภาพ</div></th>
			<th align="center"><div class="style1">ที่อยู่</div></th>
			<th align="center"><div class="style1">เบอร์โทร</div></th>
			<th align="center"><div class="style1">การจัดการ</div></th>	
		</TR>

<?php						 
		$Per_Page =10;
		if(!isset($_REQUEST["Page"])){$Page=1;}else{$Page = $_REQUEST["Page"];}
		$Prev_Page = $Page-1;
		$Next_Page = $Page+1;
		$sql  = "SELECT * FROM location WHERE admin_id=".$_SESSION["admin_id"]." ORDER BY locCode ASC";
		$result_loc = mysql_query($sql);
		$Page_start = ($Per_Page*$Page)-$Per_Page;
		$Num_Rows = mysql_num_rows($result_loc);
		if($Num_Rows<=$Per_Page)
				$Num_Pages =1;
			else if(($Num_Rows % $Per_Page)==0)
				$Num_Pages =($Num_Rows/$Per_Page) ;
			else 
				$Num_Pages =($Num_Rows/$Per_Page) +1;
				$Num_Pages = (int)$Num_Pages;
		if(($Page>$Num_Pages) || ($Page<0))
			echo "<TR><TD><center><b>จำนวน $Page มากกว่า $Num_Pages ยังไม่มีข้อความ<b></center></TD></TR>";
			$sql .= " LIMIT ".$Page_start." , ".$Per_Page;
							
		if(isset($_REQUEST["searchOrder"])){
			$sql_search = "SELECT * FROM location WHERE admin_id=".$_SESSION["admin_id"];
			if($_REQUEST["loc_name_search"]!=""){  //ถ้าคำค้นไม่เท่ากับช่องว่าง
				$sql_search .= "and locName like '%".$_REQUEST["loc_name_search"]."%' or locAddress like '%".$_REQUEST["loc_name_search"]."% ORDER BY locCode ASC";
				$result_loc = mysql_query($sql_search);
				}else{
					$result_loc = mysql_query($sql_search);
				}
				}else{
					$result_loc = mysql_query($sql);
							}
					for($i_loc=1;$i_loc<=mysql_num_rows($result_loc);$i_loc++){
						$query_loc = mysql_fetch_array($result_loc, MYSQL_ASSOC);
						$locLatLng = $query_loc["locLatLng"];
							?>

	<TR class="tableDetail"  bgcolor="#99CCFF" style="font-size:13px" onmouseover="this.style.backgroundColor='#CCFFCC'" onmouseout="this.style.backgroundColor='#99CCFF'">
		<TD align=center><?=$query_loc["locCode"]?></TD>
		<TD align=center><?=$query_loc["loctype_name"]?></TD>
		<TD align=center><?=$query_loc["locName"]?></TD>
		<TD align=center><?php if($query_loc["locIcon"]!=""){?><img src="<?=$query_loc["locIcon"]?>" border=0 width="25" height="25" /><?php }?></TD>
		<TD align=center><?php if($query_loc["locImage"]!=""){?><img src="<?=$query_loc["locImage"]?>" border=0 width="30" height="25" /><?php }?></TD>
		<TD align=center><?=$query_loc["locAddress"]?></TD>
		<TD align=center><?=$query_loc["locTel"]?></TD>
		<TD align=center><a href="?edit_loc=new&locCode=<?=$query_loc["locCode"]?>"><img src="images/set.png" border=0 alt="Edit this location" /></a>&nbsp; <a href="?del_loc=new&locCode=<?=$query_loc["locCode"]?>" onclick="return confirm('คุณต้องการลบข้อมูลนี้ใช่หรือไม่.')"><img src="images/del.png" border=0  alt="Delete This location" /></a>&nbsp;</TD>
	</TR>
	<?php }
		if($locLatLng==""){
			$locLatLng = "7.55378182524803, 99.61441040039062";
		}		
	?>
</TBODY>
</TABLE>
</DIV>


ขอบคุณมากๆคะ
Date : 2009-12-10 14:59:27 By : KhemTiD
 


 

No. 7



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

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

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


เอาโค้ด ที่ผม ทำให้ใน คห.ที่ 5 ตามนั้นเลยครับ แล้วก็

บรรทัดที่ 20
จาก
$sql = "SELECT * FROM location WHERE admin_id=".$_SESSION["admin_id"]." ORDER BY locCode ASC";

เปลี่ยนเป็น
$sql = "SELECT * FROM location WHERE admin_id=".$_SESSION["admin_id"]." ORDER BY loc_type $type";

(นี่คือ กรณี ที่ไม่ได้มีการค้นหาข้อมูลนะ ส่วนการค้นหาข้อมูล ก็เอาไปอ้างอิง อีกทีนะครับ)
Date : 2009-12-10 17:22:44 By : yomaster
 


 

No. 8

Guest


การเรียงตรางสอนมีหลายรูปแบบ


























Date : 2010-05-26 14:07:57 By : ชาช่า
 


 

No. 9



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



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


ใส่ ORDER BY admin_id ASC ใน code

Code (PHP)
$sql_search = "SELECT * FROM location WHERE admin_id=".$_SESSION["admin_id"];//เดิม


หน้าจะจบแล้วนะ

Code (PHP)
$sql_search = "SELECT * FROM location WHERE admin_id=".$_SESSION["admin_id"] ORDER BY admin_id ASC;//ใหม่

Date : 2010-05-26 15:08:57 By : aimoomoo
 

   

ค้นหาข้อมูล


   
 

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