Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,668

HOME > PHP > PHP Forum > I have paging problems with INNER JOIN table of sqlsrv with php.





 

I have paging problems with INNER JOIN table of sqlsrv with php.

 



Topic : 134075



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



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




I have 2 tables as follows:
Table1: Studen(Studen_ID, Name, Class_ID)
Table2: Class(Class_ID,ClassName)
- When I INNER JOIN these 2 tables together, it works fine:

Quote:
$stmt = "SELECT Studen_ID,Name,ClassName FROM Studen
INNER JOIN Class
ON Studen.Class_ID=Class.Class_ID
WHERE TenNhanVien LIKE '%".$strKeyword."%' ";

- But when I perform paging, report an error:

Quote:
$stmt = " SELECT Name,Studen_ID FROM
(SELECT ROW_NUMBER() OVER(ORDER BY Name) AS RowID,Name,Studen_ID FROM Studen WHERE Name LIKE '%".$strKeyword."%'

) AS Studen_ID
WHERE Studen_ID.RowID > $row_start AND Studen_ID.RowID <= $row_end

";


-Class name does not display data.
Hope the helping.
Thank you very much!



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-08-24 15:31:48 By : rainkv View : 78 Reply : 4
 

 

No. 1



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



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


$stmt = " SELECT Name,Studen_ID FROM
(SELECT ROW_NUMBER() OVER(ORDER BY Name) AS RowID,Name,Studen_ID FROM Studen WHERE Name LIKE '%".$strKeyword."%'

) AS Studen_ID
WHERE Studen_ID.RowID > $row_start AND Studen_ID.RowID <= $row_end

It is conflict blue and red

Code (PHP)
$stmt = " SELECT Name,Studen_ID 
FROM(
  SELECT ROW_NUMBER() OVER(ORDER BY Name) AS RowID,Name,Studen_ID 
  FROM Studen WHERE Name LIKE '%".$strKeyword."%'
) AS tmp
WHERE tmp.RowID > $row_start AND tmp.RowID <= $row_end
";



Please try
$result = sqlsrv_query(........) or die( print_r( sqlsrv_errors(), true));

You can see error and Notice for resolve it by yourself.






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-08-24 16:20:51 By : Chaidhanan
 


 

No. 2



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



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


Thanks for the reply, but I mean the classnam field does not display data. Hope the helping.
Thank you!
Class name does not display data.

My code:
Quote:
<html>
<head>
<title>Trâm Anh Danh sách nhân viên</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);

$strKeyword = null;

if(isset($_POST["txtKeyword"]))
{
$strKeyword = $_POST["txtKeyword"];
}
if(isset($_GET["txtKeyword"]))
{
$strKeyword = $_GET["txtKeyword"];
}
?>
<form name="frmSearch" method="post" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
<table width="599" border="0">
<tr>
<th>Nhập tên nhân viên:
<input name="txtKeyword" type="text" id="txtKeyword" value="<?php echo $strKeyword;?>">
<input type="submit" value="Tìm kiếm"></th>
</tr>
</table>
</form>
<?php
$serverName = "QGSLUOU6NK9BNBY\SQLEXPRESS";
$userName = "sa";
$userPassword = "12345";
$dbName = "PHP_TEST";

$connectionInfo = array("Database"=>$dbName,"characterSet"=>"UTF-8", "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true);

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$stmt = "SELECT Studen_Id,Name,ClassName FROM Studen
INNER JOIN Class
ON Studen.Class_Id=Class.Class_Id
WHERE Name LIKE '%".$strKeyword."%' ";

$params = array();
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$query = sqlsrv_query( $conn, $stmt , $params, $options );

$num_rows = sqlsrv_num_rows($query);

$per_page = 25; // Per Page
$page = 1;

if(isset($_GET["Page"]))
{
$page = $_GET["Page"];
}

$prev_page = $page-1;
$next_page = $page+1;

$row_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;
}
$row_end = $per_page * $page;
if($row_end > $num_rows)
{
$row_end = $num_rows;
}


$stmt = " SELECT Name,Studen_ID
FROM(
SELECT ROW_NUMBER() OVER(ORDER BY Name) AS RowID,Name,Studen_ID
FROM Studen WHERE Name LIKE '%".$strKeyword."%'
) AS tmp
WHERE tmp.RowID > $row_start AND tmp.RowID <= $row_end
";


$query = sqlsrv_query( $conn, $stmt );
if( $query === false ) {
if( ($errors = sqlsrv_errors() ) != null) {
foreach( $errors as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "code: ".$error[ 'code']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
}


?>
<table width="600" border="1">
<tr>
<th width="50"> <div align="center">Student ID </div></th>
<th width="98"> <div align="center">Name Student </div></th>
<th width="98"> <div align="center">Class Name </div></th>

</tr>
<?php
while($result = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC))
{
?>
<tr>
<td><div align="center"><?php echo $result["Studen_ID"];?></div></td>
<td><?php echo $result["Name"];?></td>

</tr>
<?php
}
?>
</table>
<br>
Tổng số: <?php echo $num_rows;?> nhân viên : <?php echo $num_pages;?> trang :
<?php
if($prev_page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$prev_page&txtKeyword=$strKeyword'><< Trang trước</a> ";
}

for($i=1; $i<=$num_pages; $i++){
if($i != $page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$strKeyword'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($page!=$num_pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$next_page&txtKeyword=$strKeyword'>Trang kế tiếp>></a> ";
}
sqlsrv_close($conn);
?>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-08-24 17:03:04 By : rainkv
 

 

No. 3



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



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


sorry
Code (PHP)
$stmt = " SELECT tmp.Name, tmp.Studen_ID, c.ClassName 
FROM(
  SELECT ROW_NUMBER() OVER(ORDER BY Name) AS RowID,Name,Studen_ID, Class_ID
  FROM Studen WHERE Name LIKE '%".$strKeyword."%'
) AS tmp
left join Class c on tmp.Class_ID = c.Class_ID
WHERE tmp.RowID > $row_start AND tmp.RowID <= $row_end
";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-08-25 07:14:40 By : Chaidhanan
 


 

No. 4



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



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


Thank you Thaicreate and Mr Chaidhanan community very much. I just learned about php so I don't have much experience. Looking forward to learning and sharing from the Thaicreate community and Mr Chaidhanan help.
Thank you!
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-08-25 14:42:43 By : rainkv
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : I have paging problems with INNER JOIN table of sqlsrv with php.
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่