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 > สอบถามครับ เรื่อง pagination ต้องเอาข้อมูลไปแปะไว้ที่ไหนครับ



 

สอบถามครับ เรื่อง pagination ต้องเอาข้อมูลไปแปะไว้ที่ไหนครับ

 



Topic : 097932



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



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




ผมได้ลองใช้โค้ดจากตัวอย่างในลิ้งนี้ครับ
PHP MySQL Pagination ทำแบ่งหน้าด้วย PHP กับ MySQL ย่อจำนวนหน้า ในกรณีที่มีจำนวนหน้าเยอะ ๆ

ซึ่งก็สามารถใช้ได้ปกติ แต่คราวนี้ผมได้เพิ่ม textbox กับปุ่มเข้าด้วยตามโค้ดข้างล่างนี้ครับ
Code
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>"> <input type="text" name="txtbox" /> <input type="submit" value="ok" /> </form>


แล้วก็แก้ sql นิดหน่อย จากเดิมเป็น
Code (PHP)
SELECT * FROM customer 

เป็น
Code (PHP)
SELECT * FROM customer  WHERE CountryCode = '".$_GET["txtbox"]."'


ซึ่งข้อมูลตัวแรกก็ขึ้นมาตามปกติ (ผมตั้งค่าให้โชว์หน้าละ 1 row ครับ) แต่พอกดหน้าสอง กลับไม่มีอะไรขึ้นเลย ก็เลยสงสัยครับว่า ต้องเอาข้อมูลใน textbox ไปต่อตรงไหนหรอครับ ถึงจะทำให้ข้อมูลโชว์เวลาคลิกหน้าอื่นๆด้วย รบกวนด้วยนะครับ



Tag : PHP, HTML/CSS







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-07-17 15:39:58 By : Resonancez View : 893 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

คุณจะต้องส่งพวก $_GET ไปกับ URL ด้วยครับ

Quote:
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";


เขียนไว้เป็นตัวอย่าง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-17 16:46:31 By : mr.win
 


 

No. 2



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



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


ได้แล้วครับ ลองแทรกไปแบบนี้

Code (PHP)
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&txtbox=$_GET[txtbox]&Page=";


ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-17 16:56:36 By : Resonancez
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

จัดไป
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-17 17:03:42 By : mr.win
 


 

No. 4



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



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


ขอถามต่อเลยค่ะ ถ้าเกิดโค้ดแบบนี้ล่ะ

Code (SQL)
"SELECT * FROM mainapp WHERE APP_ID = '".$_POST["select1"]."' 
		or APP_NAME = '".$_POST["select2"]."' 
		or OWNER_NAME = '".$_POST["select3"]."'
		or OWNER_FUNCTION = '".$_POST["select4"]."'
		or RUNNING_DATE = '".$_POST["datepicker2"]."'
		or RUNNING_TIME = '".$_POST["timepicker2"]."'
		or DEPLOY_DATE = '".$_POST["datepicker"]."'
		or DEPLOY_TIME = '".$_POST["timepicker"]."'";


โดยที่ select1,2,3,4จะต้องดึงมาจากอีกเพจนึงค่ะ ตรงนั้นไม่มีปัญหาแต่ตอน
เรียกโชวหน้าอ่ะค่ะจะต้องแทรก $pages->url_next........ อย่างไรคะ เพราะมีปัญหาแบบเดียวกันคือหน้าต่อไปไม่มีข้อมูลขึ้นค่ะ

ปล.ใช้โค้ดจากลิ้ง "PHP MySQL Pagination ทำแบ่งหน้าด้วย PHP กับ MySQL ย่อจำนวนหน้า ในกรณีที่มีจำนวนหน้าเยอะ ๆ"เหมือนกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-19 15:58:43 By : kotchakorn_j
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ลองส่งเป็น $_GET แทนครับ เพราะจะสามารถส่งได้ หรือไม่ใช้ IF เอาครับ ถ้าไม่มี $_POST ให้เอาจาก $_GET แทน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-19 16:24:53 By : mr.win
 


 

No. 6



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



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


ใส่GET แทน POSTแล้วตอนที่ select ดูผล ปรากฏว่าผลลัพธ์ไม่ออกมาค่ะ

แล้วก็ตอนแทรก URLอ่ะค่ะ ข้าน้อยแทรกแบบนี้

$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&select1=$_POST[select1]&Page="; ไม่ทราบว่าผิดตรงไหนคะแล้วขียนอย่างไรให้ถูกคะ เพราะคลิกหน้าต่อไปข้อมูลที่คิวรี่มาก็ไม่ขึ้นอ่ะค่ะ

ข้าน้อยเพิ่งฝึกวชา อาจจะงงๆ ช่วยตอบข้าน้อยด้วยค่ะ

ด้านล่างนี่คือไฟล์ที่ต้องการแบ่งเพจ และไฟล์ที่ใช้select ข้อมูล
selectpaging.php
Code (PHP)
<?
class Paginator{
	var $items_per_page;
	var $items_total;
	var $current_page;
	var $num_pages;
	var $mid_range;
	var $low;
	var $high;
	var $limit;
	var $return;
	var $default_ipp;
	var $querystring;
	var $url_next;

	function Paginator()
	{
		$this->current_page = 1;
		$this->mid_range = 7;
		$this->items_per_page = $this->default_ipp;
		$this->url_next = $this->url_next;
	}
	function paginate()
	{

		if(!is_numeric($this->items_per_page) OR $this->items_per_page <= 0) $this->items_per_page = $this->default_ipp;
		$this->num_pages = ceil($this->items_total/$this->items_per_page);

		if($this->current_page < 1 Or !is_numeric($this->current_page)) $this->current_page = 1;
		if($this->current_page > $this->num_pages) $this->current_page = $this->num_pages;
		$prev_page = $this->current_page-1;
		$next_page = $this->current_page+1;


		if($this->num_pages > 10)
		{
			$this->return = ($this->current_page != 1 And $this->items_total >= 10) ? "<a class=\"paginate\" href=\"".$this->url_next.$this->$prev_page."\">&laquo; Previous</a> ":"<span class=\"inactive\" href=\"#\">&laquo; Previous</span> ";

			$this->start_range = $this->current_page - floor($this->mid_range/2);
			$this->end_range = $this->current_page + floor($this->mid_range/2);

			if($this->start_range <= 0)
			{
				$this->end_range += abs($this->start_range)+1;
				$this->start_range = 1;
			}
			if($this->end_range > $this->num_pages)
			{
				$this->start_range -= $this->end_range-$this->num_pages;
				$this->end_range = $this->num_pages;
			}
			$this->range = range($this->start_range,$this->end_range);

			for($i=1;$i<=$this->num_pages;$i++)
			{
				if($this->range[0] > 2 And $i == $this->range[0]) $this->return .= " ... ";
				if($i==1 Or $i==$this->num_pages Or in_array($i,$this->range))
				{
					$this->return .= ($i == $this->current_page And $_GET['Page'] != 'All') ? "<a title=\"Go to page $i of $this->num_pages\" class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" title=\"Go to page $i of $this->num_pages\" href=\"".$this->url_next.$i."\">$i</a> ";
				}
				if($this->range[$this->mid_range-1] < $this->num_pages-1 And $i == $this->range[$this->mid_range-1]) $this->return .= " ... ";
			}
			$this->return .= (($this->current_page != $this->num_pages And $this->items_total >= 10) And ($_GET['Page'] != 'All')) ? "<a class=\"paginate\" href=\"".$this->url_next.$next_page."\">Next &raquo;</a>\n":"<span class=\"inactive\" href=\"#\">&raquo; Next</span>\n";
		}
		else
		{
			for($i=1;$i<=$this->num_pages;$i++)
			{
				$this->return .= ($i == $this->current_page) ? "<a class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" href=\"".$this->url_next.$i."\">$i</a> ";
			}
		}
		$this->low = ($this->current_page-1) * $this->items_per_page;
		$this->high = ($_GET['ipp'] == 'All') ? $this->items_total:($this->current_page * $this->items_per_page)-1;
		$this->limit = ($_GET['ipp'] == 'All') ? "":" LIMIT $this->low,$this->items_per_page";
	}

	function display_pages()
	{
		return $this->return;
	}
}
?>
<html>
<head>
<title>Show Select Data</title>

<style type="text/css">
.fontstyle {font-size: 16px;
	font-family:Tahoma;
	color:back;
	font-variant:normal
	border-collapse:collapse;
}
/*.linkbox a:link {color: #FF0000} /* unvisited link สีแดง*/ 
.linkbox a:visited {color: #000099} /* visited link สีเขียว*/ 
.linkbox a:hover {color: #FF00FF} /* mouse over link สีชมพู */ 
/*.linkbox a:active {color: #0000FF} /* selected link สีน้ำเงิน*/ 

</style>
<style type="text/css"> 
<!--
	.paginate {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .7em;
	}
	a.paginate {
	border: 1px solid #000080;
	padding: 2px 6px 2px 6px;
	text-decoration: none;
	color: #000080;
	}
	h2 {
		font-size: 12pt;
		color: #003366;
		}
		
		 h2 {
		line-height: 1.2em;
		letter-spacing:-1px;
		margin: 0;
		padding: 0;
		text-align: left;
		}
	a.paginate:hover {
	background-color: #000080;
	color: #FFF;
	text-decoration: underline;
	}
	a.current {
	border: 1px solid #000080;
	font: bold .7em Arial,Helvetica,sans-serif;
	padding: 2px 6px 2px 6px;
	cursor: default;
	background:#000080;
	color: #FFF;
	text-decoration: none;
	}
	span.inactive {
	border: 1px solid #999;
	font-family: Arial, Helvetica, sans-serif;
	font-size: .7em;
	padding: 2px 6px 2px 6px;
	color: #999;
	cursor: default;
	}
-->
</style>

</head>
<?
	mysql_connect("localhost","root","root") or die(mysql_error());
	mysql_select_db("dependency_job");
?>

<body>

<table  border="1" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC"  bordercolor="#FFFFFF">
	  <tr>
	   <th width="15%" scope="col">APP ID</th>
	    <th width="15%" scope="col">APP NAME</th>
        <th width="15%" scope="col">Owner NAME</th>
	    <th width="7%" scope="col">Deploy Date</th>
	    <th width="7%" scope="col">Deploy Time</th>
        <th width="7%" scope="col">Running Date</th>
        <th width="7%" scope="col">Running Time</th>
        <th width="7%" scope="col">Pre App</th>
        <th width="7%" scope="col">Post App</th>
        <th width="5%" scope="col">Edit</th>
        <th width="5%" scope="col">Delete</th>
        
      </tr>
     
       <tr>
	    
		<?
		$strSQL = "SELECT * FROM mainapp WHERE APP_ID = '".$_POST["select1"]."' 
		or APP_NAME = '".$_POST["select2"]."' 
		or OWNER_NAME = '".$_POST["select3"]."'
		or OWNER_FUNCTION = '".$_POST["select4"]."'
		or RUNNING_DATE = '".$_POST["datepicker2"]."'
		or RUNNING_TIME = '".$_POST["timepicker2"]."'
		or DEPLOY_DATE = '".$_POST["datepicker"]."'
		or DEPLOY_TIME = '".$_POST["timepicker"]."'";
		$objQuery = mysql_query($strSQL);
		$Num_Rows = mysql_num_rows($objQuery);
		
		$Per_Page = 10;   // Per Page
		
		$Page = $_GET["Page"];
		if(!$_GET["Page"])
		{
			$Page=1;
		}
		
		$Prev_Page = $Page-1;
		$Next_Page = $Page+1;
		
		$Page_Start = (($Per_Page*$Page)-$Per_Page);
		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;
		}
		
		$strSQL .=" order  by APP_ID ASC LIMIT $Page_Start , $Per_Page";
		$objQuery  = mysql_query($strSQL);
		
		while($objResult = mysql_fetch_array($objQuery))
		{
			if ($color == "#C07AD4"){
				$color = "#F5F69D";
				}else{ 
				$color = "#C07AD4";
				}
		
		?>	<tr  bgcolor='<?=$color;?>' class="fontstyle">
        	<td><?=$objResult[APP_ID];?></td>
        	<td><?=$objResult[APP_NAME];?></td>
            <td><?=$objResult[OWNER_NAME];?></td>
            <td><?=$objResult[DEPLOY_DATE]; ?></td>
            <td align="center"><?=$objResult[DEPLOY_TIME]; ?></td>
            <td><?=$objResult[RUNNING_DATE]; ?></td>
            <td align="center"><?=$objResult[RUNNING_TIME]; ?></td>
            <td><?=$objResult[PRE_APP_CODE]; ?></td>
            <td><?=$objResult[POST_APP_CODE]; ?></td>  
            <td align="center"><a href="updatedata.php?APP_ID=<?=$objResult[APP_ID];?>"><input type="button" name="Edit" value="Edit"></a></td>        
            <td align="center"><a href="JavaScript:if(confirm('Confirm Delete?')==true)
            {window.location='deleterecord.php?APP_ID=<?=$objResult[APP_ID];?>';}"><input type="button" name="Delete" value="Delete"></a></td>
        </tr>    
		<? 
		}
		?>   
   		
	   
</table>
	<p>&nbsp;</p>
    <a href="testselect.php"><input type = "button" name ="back" value = "BACK" ></a>
    Total <?= $Num_Rows;?> Record 
    
    <?
    
    $pages = new Paginator;
    $pages->items_total = $Num_Rows;
    $pages->mid_range = 10;
    $pages->current_page = $Page;
    $pages->default_ipp = $Per_Page;
    $pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
    $pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&select1=$_POST[select1]&Page=";
    $pages->paginate();
    
    echo $pages->display_pages()
    ?>		
    
<?
	mysql_close();
?>
</body>
</html>



testselect.php
Code (PHP)
<html>
<head>
<title>View Data Output</title>

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  
  <script type="text/javascript"> 
function clearValue(obj,text) { 
if ( obj.value == text ) obj.value = ''; 
} 
function checkValue(obj,text) { 
if ( obj.value == '' ) obj.value = text; 
} 
</script>

  <script>
  $(function() {
    $( "#datepicker" ).datepicker();
	$( "#datepicker2" ).datepicker();
	
  });
  </script>



</head>
<?
	include("config.php");
?>
<body><center>
	<form action="selectpaging.php" method="post" name="form1" onSubmit="JavaScript:return checktxtbox();">
		 
		<table width="70%" height="192" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
		  <tr><td colspan="3"><p><center>CommaView Data</center></p>
		  </tr>
          <td>&nbsp;&nbsp;<a href="../Dependency_job/testselect4.php"><input name="button1" type="button" value="Show All Data"></a><br><br></td>
          <tr>
		    <td width="44%" height="41"><p>
		      <select name="select1" style="width: 100%">
		        <option value=""> -- Select APP ID -- </option>
		        <?
			$strSQL = "SELECT * FROM mainapp ORDER BY APP_ID ASC";
			$objQuery = mysql_query($strSQL);
			
			while($objResuut = mysql_fetch_array($objQuery))
			{
			?>
		        <option value="<?=$objResuut["APP_ID"];?>">
		          <?=$objResuut["APP_ID"];?>
	            </option>
		        <?
			}
			?>
	          </select>
	        </p></td>
            <td width="12%">
			</td>		   
           
            <td width="44%"><select name="select2" style="width: 100%">
		      <option value=""> -- Select APP NAME -- </option>
		      <?
			$strSQL = "SELECT * FROM mainapp ORDER BY APP_NAME ASC";
			$objQuery = mysql_query($strSQL);
			
			while($objResuut = mysql_fetch_array($objQuery))
			{
			?>
		      <option value="<?=$objResuut["APP_NAME"];?>">
		        <?=$objResuut["APP_NAME"];?>
	          </option>
		      <?
			}
			?>
	        </select></td>
	      </tr>
		 <tr>
	       <td height="43"><select name="select3" style="width: 100%">
	         <option value=""> -- Select Owner Name -- </option>
	         <?
			$strSQL = "SELECT * FROM mainapp ORDER BY OWNER_NAME ASC";
			$objQuery = mysql_query($strSQL);
			
			while($objResuut = mysql_fetch_array($objQuery))
			{
			?>
	         <option value="<?=$objResuut["OWNER_NAME"];?>">
	           <?=$objResuut["OWNER_NAME"];?>
             </option>
	         <?
			}
			?>
           </select></td>
	       <td>
           </td>
            
           <td><select name="select4" style="width: 100%"  >
	         <option value=""> -- Select Owner Function -- </option>
	         <?
			$strSQL = "SELECT * FROM mainapp GROUP BY OWNER_FUNCTION ";
			$objQuery = mysql_query($strSQL);
			
			while($objResuut = mysql_fetch_array($objQuery))
			{
			?>
	         <option value="<?=$objResuut["OWNER_FUNCTION"];?>">
	           <?=$objResuut["OWNER_FUNCTION"];?>
             </option>
	         <?
			}
			?>
           </select></td>
	      </tr>
          <tr>
          <td height="39">
          <input name="datepicker2" type="text" value="Running Date" id="datepicker2" onBlur="checkValue(this,this.defaultValue)" onFocus="clearValue(this,this.defaultValue)">
          </td>
          <td>
          </td>
          <td>
          <input name="timepicker2" type="text" value="Running Time" id="timepicker2" onBlur="checkValue(this,this.defaultValue)" onFocus="clearValue(this,this.defaultValue)">
          </td>
          </tr>
          <tr>
          <td height="45">
          <input name="datepicker" type="text" value="Deploy Date" id="datepicker" onBlur="checkValue(this,this.defaultValue)" onFocus="clearValue(this,this.defaultValue)">
          </td>
          <td>
          </td>
          <td>
          <input name="timepicker" type="text" value="Deploy Time" id="timepicker" onBlur="checkValue(this,this.defaultValue)" onFocus="clearValue(this,this.defaultValue)">
          </td>
          </tr>
	  </table>
		<p>
   		  <input name="btnSubmit" type="submit" value="Show Data" onClick="JavaScript:return checkselect();" >&nbsp;&nbsp;
          <a href="../Dependency_job/Add.php"><input type="button" name="backtoadd" value="Add Data"></a>
	  </p>
  </form>
</center>
</body>
</html>
<?
	mysql_close();
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 14:57:04 By : kotchakorn_j
 

   

ค้นหาข้อมูล


   
 

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