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 > ต่อจาก17077 ค่ะ คือว่าจะแสดงผลข้อมูลแบ่งออกเป็นหน้าๆได้เอาโค้ดจากเวบไปใช้แต่มันขึ้นว่า



 

ต่อจาก17077 ค่ะ คือว่าจะแสดงผลข้อมูลแบ่งออกเป็นหน้าๆได้เอาโค้ดจากเวบไปใช้แต่มันขึ้นว่า

 



Topic : 017079

Guest




<html>
<head>
<body bgcolor="#FFFFFF">
<br>
<table width="72%" border="1" align="center" cellspacing="0" cellpadding="0" height="23">
<tr>
<td width="8%">
<div align="center">id</div>
</td>
<td width="14%">
<div align="center">user</div>
</td>
<td width="30%">
<div align="center">name</div>
</td>
<td width="26%">
<div align="center">email</div>
</td>
<td width="22%">
<div align="center">tel</div>
</td>
</tr>
</table>
<?
$host="localhost";
$username="";
$pass_word="";
$db="member";
mysql_connect( $host,$username,$pass_word) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");

$sql = "select * From member ";
/* ตั้งค่า แสดงผลต่อหน้า $Per_Page */

$Per_Page =2;
if(!$Page)
$Page=1;

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$result = mysql_query($sql);
$Page_start = ($Per_Page*$Page)-$Per_Page;
$Num_Rows = mysql_num_rows($result);

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))
print "<center><b>จำนวน $Page มากกว่า $Num_Pages ยังไม่มีข้อความ<b></center>";
$sql .= " Where 1 Order by id Desc LIMIT $Page_start , $Per_Page";
//ส่วนแสดงผล
$result = mysql_query($sql);
While($row= mysql_fetch_array($result)){
$id = $row["id"];
$user = $row["user"];
$name = $row["name"];
$email = $row["email"];
$tel = $row["tel"];

?>
<table width="72%" border="1" align="center" cellspacing="0" cellpadding="0" height="23">
<tr>
<td width="8%">
<div align="center">
<?= $id;?>
</div>
</td>
<td width="14%">
<?= $user;?>
</td>
<td width="30%">
<?= $name;?>
</td>
<td width="27%">
<?= $email;?>
</td>
<td width="21%">
<?= $tel;?>
</td>
</tr>
</table>
<?}?>
<div align="center"><br>
มีจำนวน Recored ทั้งหมด
<?= $Num_Rows;?>
รวมทั้งหมด : <b>
<?=$Num_Pages;?>
</b> หน้า :
<?/* สร้างปุ่มย้อนกลับ */
if($Prev_Page)
echo " <a href='$PHP_SELF?Page=$Prev_Page'><< ย้อนกลับ </a>";
for($i=1; $i<$Num_Pages; $i++){
if($i != $Page)
echo "[<a href='$PHP_SELF?Page=$i'>$i</a>]";
else
echo "<b> $i </b>";
}
/*สร้างปุ่มเดินหน้า */
if($Page!=$Num_Pages)
echo "<a href ='$PHP_SELF?Page=$Next_Page'> หน้าถัดไป>> </a>";

?>
</div>
</body>
</html>

คือว่าจะแสดงผลข้อมูลแบ่งออกเป็นหน้าๆได้เอาโค้ดจากเวบไปใช้แต่มันขึ้นว่า

While($row= mysql_fetch_array($result)){ บันทัดนี้ไม่ถูกต้องค่ะ




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 11 ธ.ค. 2550 10:20:47 By : ไม่รู้จิงๆ View : 1584 Reply : 10
 

 

No. 1

Guest


$sql = "select * From member ";
/* ตั้งค่า แสดงผลต่อหน้า $Per_Page */

$Per_Page =2;
if(!$Page)
$Page=1;

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$result = mysql_query($sql);
$Page_start = ($Per_Page*$Page)-$Per_Page;
$Num_Rows = mysql_num_rows($result);

....
....
....

if(($Page>$Num_Pages) || ($Page<0))
print "<center><b>จำนวน $Page มากกว่า $Num_Pages ยังไม่มีข้อความ<b></center>";
$sql .= " Where 1 Order by id Desc LIMIT $Page_start , $Per_Page";
//ส่วนแสดงผล
$result = mysql_query($sql);
While($row= mysql_fetch_array($result)){

คุณ ไม่รู้จิงๆ ประกาศ ตัวแปร $sql ถึง 2 ครั้ง และ ประกาศ $result ถึง 2 ครั้ง
While จึงไม่ทราบว่าจะใช้ $row โดยอ้างอิง $result จากตัวไหน

ผมคิดว่างั้นนะคับ
ใครคิดแตกต่างจากผมก้อช่วยกันเสนอแนะหน่อย ^^"






Date : 11 ธ.ค. 2550 11:45:30 By : topkung
 


 

No. 2

Guest


f(($Page>$Num_Pages) || ($Page<0))
print "<center><b>จำนวน $Page มากกว่า $Num_Pages ยังไม่มีข้อความ<b></center>";
$sql .= " Where 1 Order by id Desc LIMIT $Page_start , $Per_Page";
//ส่วนแสดงผล
$result = mysql_query($sql);
While($row= mysql_fetch_array($result)){
$id = $row["id"];
$user = $row["user"];
$name = $row["name"];
$email = $row["email"];
$tel = $row["tel"];


ตรง where 1 นี้คือะไรครับ ลงลบออกให้เหลือแต่ order by ... ดูครับ
Date : 11 ธ.ค. 2550 13:03:42 By : namfar
 

 

No. 3

Guest


ลองใหม่แล้วค่ะ ตอนนี้ข้อมูลขึ้น แต่ว่าไม่แบ่งเป็นหน้า หน้าละ สองให้ค่ะ แต่ขึ้นทั้ง สิบข้อมูลค่ะ
ยังไงก็ขอบคุณ คุณtopkung มากค่ะ
Date : 11 ธ.ค. 2550 13:17:51 By : ไม่รู้จิงๆ
 


 

No. 4

Guest


ลองลบ where 1 แล้วค่ะคุณnamfar มันขึ้นอย่างนี้ค่ะ
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\table\4.php on line 58
คือบรรทัดนี้ค่ะ
While($row= mysql_fetch_array($result)){

Date : 11 ธ.ค. 2550 13:24:28 By : ไม่รู้จิงๆ
 


 

No. 5

Guest


ลอง แยกการติดต่อฐานข้อมูลออกเป็น 2 ครั้งจะดีกว่ามั๊ยคับ

//ติดต่อฐานข้อมูลเพื่อแบ่งหน้า
$sql = "select * From member ";
/* ตั้งค่า แสดงผลต่อหน้า $Per_Page */

$Per_Page =2;
if(!$Page)
$Page=1;

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$result = mysql_query($sql);
$Page_start = ($Per_Page*$Page)-$Per_Page;
$Num_Rows = mysql_num_rows($result);
.......

*******************************************************************

//ติดต่อฐานข้อมูลเพื่อแสดงข้อมูล

if(($Page>$Num_Pages) || ($Page<0))
print "<center><b>จำนวน $Page มากกว่า $Num_Pages ยังไม่มีข้อความ<b></center>";
$sql2 = " select * From member Where (เงื่อนไข) Order by id Desc LIMIT $Page_start , $Per_Page";
//ส่วนแสดงผล
($result2) = mysql_query($sql2);
While($row= mysql_fetch_array(($result2)){
$id = $row["id"];
$user = $row["user"];
$name = $row["name"];
$email = $row["email"];
$tel = $row["tel"];

*********************************************************************

ลองแก้ดูนะคับ
Date : 11 ธ.ค. 2550 13:43:48 By : topkung
 


 

No. 6

Guest


เหอะๆ ผิดปายนิสสสนึง

//แก้
$sql2 = " select * From member Order by id Desc LIMIT $Page_start , $Per_Page";

Date : 11 ธ.ค. 2550 13:46:23 By : topkung
 


 

No. 7

Guest


ผมว่าดูตรงเงื่อนไข where ดี ๆ นะครับ แล้วก็เปลี่ยน sql2 ตามที่คุณ topkung บอกก็ไม่น่าจะมีปัญหาแล้ว แต่หากยังมี Error อยู่ผมว่าไป copy โค้ดมาแปะใหม่ดีกว่าครับ เพราะผมก็ใช้ตัวนี้เหมือนกันก็ไม่มีปัญหาอะไรครับ
Date : 11 ธ.ค. 2550 13:49:24 By : namfar
 


 

No. 8

Guest


ขึ้นเหมือนเดิมค่ะ พอจะมีโค้ดใหม่ทั้งหมดมั้ยค่ะ ยังไงก็ขอขอบคุณทุกๆคนค่ะ ท้งคุณtopkung และคุณnamfar จะพยายามค่ะ
เพราะเพิ่งเคยเขียนโค้ด php ครั้งแรก อาจจะดูงี่เง่าไปนิด ก็อาศัยก๊อบๆโค้ดเข้ามาแล้วมานั่งทำความเข้าใจอ่ะค่ะ ขอบคุณจริงๆค่ะ
Date : 11 ธ.ค. 2550 14:25:42 By : ไม่รู้จิงๆ
 


 

No. 9

Guest


<?php
$link=mysql_connect("localhost","root","");
mysql_select_db("yapa",$link);
$sql="Select count(*) From infomation"; //นับจำนวน Record ทั้งหมดใน Table
$rs=mysql_query($sql);
$total_rec=mysql_result($rs,0,0); // เก็บจำนวน Record ทั้งหมดไว้ใน $total_page
$p_size=25; //กำหนดจำนวน Record ที่จะแสดงผลต่อ 1 เพจ
$total_page=(int)($total_rec/$p_size);
//ทำการหารหาจำนวนหน้าทั้งหมดของข้อมูล ในที่นี้ให้หารออกมาเป็นเลขจำนวนเต็ม
if(($total_rec % $p_size)!=0){ //ถ้าข้อมูลมีเศษให้ทำการบวกเพิ่มจำนวนหน้าอีก 1
$total_page++;
}
if(empty($_GET['page'])){

$page=1;
$start=0;
}else{
/*
หากมีการส่งค่ามาเพื่อเลือกดูหน้าข้อมูลหน้าใดให้ทำการคำนวน โดยใช้ จำนวนข้อมูลที่ต้องการแสดงต่อ 1 เพจ คูณกับ หน้าข้อมูลที่ต้องการเลือกชม ลบด้วย 1
*/
$page=$_GET['page'];
$start=$p_size*($page-1);
}
$sql="Select * From infomation LIMIT $start , $p_size";
//ใช้ Option LIMIT ของ MySQL เพื่อทำการเลือกข้อมูลออกมาตามต้องการ
$rs=mysql_query($sql);
while($result=mysql_fetch_array($rs)){ //วนรอบแสดงข้อมูล
echo $result["title"]."<br>";
}
for($i=1;$i<=$total_page;$i++){ //สร้าง Link เพื่อให้ผู้ใช้งานเลือกชมหน้าข้อมูล
echo "<a href=".$_SERVER['PHP_SELF']."?page=".$i.">หน้าที่ ".$i."</a> ";
}

?>


ลองดูใหม่น่ะ ตามนี้ ค่อย ๆ ดูที่ละบรรทัด

Date : 11 ธ.ค. 2550 17:45:45 By : namfar
 


 

No. 10



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



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


มีเป็นแบบ function นะไม่รู่จะเข้าใจป่าว

<?
connect("localhost","root","","database");

if(!isset($start)){$start = 0;}
if(!isset($page)){$page=1;}
$limit = 3; // กำหนดจำนวนสินค้าที่แสดงต่อ1หน้า
$maxpage =5; // กำหนดจำนวนหมายเลขหน้า

$num = select_table("*","my_table","","num");
$data = select_table("*","my_table","LIMIT $start,$limit","num");
// select_table() คือ function select
// select_table("*","ตาราง","เงือนใข","num");
// ถ้ามีเงือนใขให้กำหนด เช่น select_table("*","table","where field = '123'","num");

while ($arr_data = mysql_fetch_array($data[0])) // $data[0] คือค่า query
{
echo $arr_data[1]."<br>"; //แสดงข้อมูล
}

echo show_page($num[1],$maxpage,"");
// show_page() คือ function แบ่งหน้า
// show_page(จำนวนทั้งหมด,$maxpage,"เงือนใข")




function connect($host,$user,$pw,$name_datadase) // ติดต่อฐานข้อมูล
{
$con=mysql_connect($host,$user,$pw) or die ("could not connect");
$db=mysql_select_db($name_datadase);
$arrcon = array($con,$db);
if($con)
return $arrcon;
else
return false;
}

function select_table($select,$table,$proviso,$s) // function select ตาราง
{
$sql = "SELECT $select FROM $table $proviso";
$query = mysql_query($sql);
if($s=="num"){$result = mysql_num_rows($query);}
else if($s=="fetch"){$result = mysql_fetch_array($query);}else{ $result = false;}
if($query){$array = array($query,$result); return $array;}
else{ return false;}
mysql_close();
}

function show_page($result_total,$max_page,$where) // function แบ่งหน้า
{
global $limit;
global $j;
global $page;

$sum_page = ceil($result_total/$limit);
$next = ceil($sum_page/$max_page);
$mod = $sum_page%$max_page;

$k=1;
for($n=0;$n<=$sum_page;$n=$n+$max_page)
{
$arr_page[$k]=$n;
$k++;
}

if($mod!=0)
{
$arr_page[$k]=$sum_page;
}

if(!isset($j)){$j=1;}

for($i=$arr_page[$j];$i<=($arr_page[$j+1]-1);$i++)
{
$p=$i+1;

if($j>1 && $i==$arr_page[$j])
{
echo "<a href='?".$where."start=".$limit*($p-2)."&page=".($p-1)."&j=".($j-1)."'><b><<</b></a>&nbsp;&nbsp;" ;
}

if($p==$page)
{
echo "<font color='#000000'>$p</font>";
}
else
{
echo "<a href='?".$where."start=".$limit*($p-1)."&page=$p&j=$j'><font color='#FF0000'><b>$p</b></font></a>" ;
}

if($i < $arr_page[$j+1]-1){echo" | ";}

if($j<$next && $i ==($arr_page[$j+1]-1))
{
echo "&nbsp;&nbsp;<a href='?".$where."start=".($limit*$p)."&page=".($p+1)."&j=".($j+1)."'><b>>></b></a>" ;
}
}
}

?>
Date : 12 ธ.ค. 2550 08:33:48 By : heng
 

   

ค้นหาข้อมูล


   
 

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