|
|
|
เปลียนหน้าแล้วข้อมูลใน textbox หาย ต้องการ ใฟ้ข้อมูลเดิม โชวว์ไว้ พอจะมีตัวอย่างให้ดูบ้างไหมครับ |
|
|
|
|
|
|
|
พอดีผมได้ทำการนำเอาตัวอย่างหลายๆ ตัวอย่างมาทดลองทำงาน โดยทำการกรอกข้อมูลลง textbox เพื่อเสริจข้อมูลดังโค้ดต่อไปนี้ครับ
Code (PHP)
<!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>
<title>SEACH</title>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
</head>
<body>
<form name="form1" method="GET" action="<?php echo $_SERVER['SCRIP_NAME'];?>">
<table width="599" border="1" align="center">
<tr bgcolor="#993366">
<th width="1000" align="center" bgcolor="#FFFFFF">KEYWORD
<input name="txtKeyword" type="text" value="<?php echo $_GET["txtKeyword"]; ?>">
<input type="submit" value="Seach"></th>
</tr>
</table>
</form>
<?php
?>
<?php
if($_GET["txtKeyword"] !="")
{
$objconnect = mssql_connect(".\SQL2008","sa","12349789")or die("ERROR CONNECT");
$objDB = mssql_select_db("DEMO");
$strSQL ="SELECT CSPRODUCT.CODE AS ID,CSPRODUCT.NAMETH AS NAME,CSPDMAINGROUP.MYNAMETH AS BRAND, CSPDSUBGROUP1.MYNAMETH AS TYPE_1 ";
$strSQL .="FROM CSPRODUCT ";
$strSQL .="JOIN CSPDMAINGROUP on CSPRODUCT.MAINGROUP=CSPDMAINGROUP.CODE ";
$strSQL .="JOIN CSPDSUBGROUP1 on CSPRODUCT.SUBGROUP1=CSPDSUBGROUP1.CODE ";
//$strSQL .="WHERE NAMETH LIKE '%".$num."%'";
$strSQL .="WHERE NAMETH LIKE '%".$_GET["txtKeyword"]."%'";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mssql_num_rows($objQuery);
$Per_Page = 15; // 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;
}
$Page_End = $Per_Page * $Page;
IF ($Page_End > $Num_Rows)
{
$Page_End = $Num_Rows;
}
?>
<table width="60%" border="1" align="center">
<tr>
<td width="14%" align="center" bgcolor="#FFFF00">ID</td>
<td width="25%" align="center" bgcolor="#FFFF00">NAME</td>
<td width="30%" align="center" bgcolor="#FFFF00">BRAND</td>
<td width="31%" align="center" bgcolor="#FFFF00">TYPE_1</td>
</tr>
<?php
for($i=$Page_Start;$i<$Page_End;$i++)
{
?>
<tr>
<td align="center" bgcolor="#FFFFCC"> <?=mssql_result($objQuery,$i,"ID");?></td>
<td align="center" bgcolor="#FFFFCC"> <?=mssql_result($objQuery,$i,"NAME");?></td>
<td align="center" bgcolor="#FFFFCC"> <?=mssql_result($objQuery,$i,"BRAND");?></td>
<td align="center" bgcolor="#FFFFCC"> <?=mssql_result($objQuery,$i,"TYPE_1");?></td>
</tr>
<?php
}//end of for
?>
</table>
<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}// end of if
for($i=1; $i<=$Num_Pages; $i++)
{
if($i != $Page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
}//end of if
else
{
echo "<b> $i </b>";
}//end else
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
}
?>
<?php
mssql_close($objconnect);
}//end of if
?>
</body>
</html>
พอทำแล้วได้รูปเป็นแบบนี้
แต่พอกดไปหน้าอื่นปรากฏว่า ข้อมูล textbox หายไป
น่าจะเป็นผลมาจาก if($_GET["txtKeyword"] !="") ทำให้ไม่แสดงผลต่อ คำถามคือผมจะมี วิธีไหนบ้างที่จะรักษาข้อมูลใน textbox ไว้ครับ ขอตัวอย่างด้วยนะครับ ลองดูตัวอย่างคำอธิบายจากหลายๆ ที่แล้วแต่มันไม่กระจ่างจริงๆ ครับขอบคุณ ณ ที่นี้ด้วย
Tag : PHP, Ms SQL Server 2008
|
|
|
|
|
|
Date :
2014-09-08 16:34:09 |
By :
dendeenarat |
View :
865 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรง
Code (PHP)
$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$_GET["txtKeyword"]
ประมาณนี้
|
|
|
|
|
Date :
2014-09-08 16:36:23 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ล่างๆ บรรทัด 92 , 100 และ 111
|
|
|
|
|
Date :
2014-09-08 17:31:04 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a>
a href คือการส่งผ่านค่าบน URL
หลัง ? คือค่าตัวแปล
& คือค่าตัวแปลที่มากกว่า 1 ตัวแปร
เพราะฉะนั้น
ข้อแนะนำ
ในการรับค่าหรือส่งค่าแต่ละครั้ง เบื้องต้น ให้คุณเป็นค่าเป็น variable (ตัวแปร) ให้ค่านั้นอยู่ในค่าตัวแปลจะทำงานได้ง่ายขึ้น และ สะดวกต่อการใช้งานมากยิ่งขึ้น
Code (PHP)
<?PHP $Keyword=$_GET['txtKeywork']; ?>
<a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtKeyword=$Keyword'><< Back</a>
|
ประวัติการแก้ไข 2014-09-08 17:40:16
|
|
|
|
Date :
2014-09-08 17:39:11 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบพระคุณขอรับ เดียวลองก่อนได้ผลยังไงมาบอกอีกทีครับ
|
|
|
|
|
Date :
2014-09-09 08:28:30 |
By :
dendeenarat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ได้แล้วครับ
Code (PHP)
<?php
if($Prev_Page)
{
echo "<a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$_GET[txtKeyword]'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++)
{
if($i != $Page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$_GET[txtKeyword]'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtKeyword=$_GET[txtKeyword]'>Next>></a> ";
}
?>
ตอนนี้เข้าใจเรืองการส่งค่าของ url แล้วขอรับ
ขอบคุณสำหรับคำแนนนำทุกท่านขอรับ
|
|
|
|
|
Date :
2014-09-09 11:00:57 |
By :
dendeenarat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เดียวจอลองการเก็บค่าไว้ในตัวแปรละเรียกใช้ต่อครับ ขอบคุณมากครับ
|
|
|
|
|
Date :
2014-09-09 11:02:27 |
By :
dendeenarat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|