พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP development / ช่วยด้วยครับ เรือง แบ่งหน้า
แทบไม่ฉลาด
แทบไม่ฉลาด
Fri 29 Feb 2008 00:53:12

ผมมือใหม่ครับ มี code ของผม กับ code ตัวอย่างการแบ่งหน้า ผมมาประยุกต์ไม่เป็นครับ เรียกง่ายๆ ว่าโง่นนั่นเอง ช่วยดูให้หน่อยครับ ช่วยผมหน่อยนะครับ ผมงง จริงๆ ครับ ขอบคุณครับ

//Code ผม

 <?

    echo"<b>Result for search properties.</b>"; 
 
    $select_type = $_REQUEST[select_type];
 $select_city = $_REQUEST[select_city];
 $select_Area = $_REQUEST[select_Area];
 $select_beds = $_REQUEST[select_beds];
 $select_minPrice = $_REQUEST[select_minPrice];
 $select_maxPrice = $_REQUEST[select_maxPrice];
 

 
    $get_id = "SELECT distinct a.listingsdb_id
                     FROM  bkkapart_en_listingsdbelements a, bkkapart_classlistingsdb b
                     WHERE a.listingsdbelements_field_name = 'city'
                           and a.listingsdb_id = b.listingsdb_id
                           and b.class_id = $select_type
                    ORDER BY a.listingsdb_id ";

  $db_query1 = mysql_db_query($dbname,$get_id);
 
                   
     while($result = mysql_fetch_array($db_query1))
             {
 
     
       $sql = "SELECT DISTINCT a.listingsdb_id,(SELECT            
                    b.listingsdbelements_field_value
                                 FROM bkkapart_en_listingsdbelements b
                                 WHERE b.listingsdbelements_field_name = 'city'
                                       AND b.listingsdb_id = a.listingsdb_id $w_city) AS fcity,
           
                                (SELECT b.listingsdbelements_field_value
                                 FROM bkkapart_en_listingsdbelements b
                                 WHERE b.listingsdbelements_field_name = 'Area'
                                       AND b.listingsdb_id = a.listingsdb_id $w_Area) AS fArea,
           
                                (SELECT b.listingsdbelements_field_value
                                 FROM bkkapart_en_listingsdbelements b
                                 WHERE b.listingsdbelements_field_name = 'beds'
                                       AND b.listingsdb_id = a.listingsdb_id ) AS fbeds,
            
                                (SELECT b.listingsdbelements_field_value
                                 FROM bkkapart_en_listingsdbelements b
                                 WHERE b.listingsdbelements_field_name = 'price'
                                       AND b.listingsdb_id = a.listingsdb_id ) AS fprice,
            
                                (SELECT b.listingsdbelements_field_value
                                 FROM bkkapart_en_listingsdbelements b
                                 WHERE b.listingsdbelements_field_name = 'home_features'
                                       AND b.listingsdb_id = a.listingsdb_id) AS ffeatures,
           
                                c.listingsdb_title AS  ftitle,
                                d.listingsimages_thumb_file_name AS fpicture

                           FROM bkkapart_en_listingsdbelements a, bkkapart_en_listingsdb c, bkkapart_en_listingsimages d
                           WHERE a.listingsdb_id = $result[listingsdb_id]
                                 AND a.listingsdb_id = c.listingsdb_id
                                 AND c.listingsdb_id = d.listingsdb_id
                                 AND d.listingsimages_rank = '1' ";
  echo"<br>";      
 // echo $sql;
  echo"<br>"; 
      $db_query2 = mysql_db_query($dbname,$sql);
             
      while($result1 = mysql_fetch_array($db_query2))
                 {
 
    
      $title = $result1[ftitle];
      $city = $result1[fcity];
                  $area = $result1[fArea];
                  $beds = $result1[fbeds];
                  $price =  $result1[fprice];
                  $H_features = $result1[ffeatures];
      $picture = $result1[fpicture];
     
        

 
     echo"<br><br>";
        echo"<div style='padding: 1px;'>
          <div style='float:left; width: 370px; height:220px; border: 1px solid;'>
          <div style='float:left; width: 369px; height:20px; border: 1px solid;'><font size = 2><b>$title</b></font></div>
            <div style='float:left; width: 110px; height:180px; border: 0px solid;'>
       <div style='float:left; margin-left:2px; margin-right:2px; margin-top:2px; margin-bottom:2px; width: 104px; height:176px; border: 0px solid;'><font size = 2><a href ='show_detail.php'><img src = 'images/listing_photos/$picture' border= 0></a> </font>
           
                  </div>
   </div>
    <div style='float:left; width: 253px; height:180px; border: 0px solid;'>
                
                 <div style='float:left; width: 253px; height: 20px;'><font size = 2><b>city</b> : $city</font></div>
                 <div style='float:left; width: 253px; height: 20px;'><font size = 2><b>area</b> : $area</font></div>
                 <div style='float:left; width: 253px; height: 20px;'><font size = 2><b>price</b> : $price Thb.</font></div>
                 <div style='float:left; width: 253px; height: 120px;'><font size = 2><b>features</b>  : <br>$H_features</font></div>
            </div>
        <div style='float:left; width: 370px; height:20px; border: 0px solid;'>
             <div style='float:right; width: 50px; height: 20px;'><font size = 2><a href='show_detail.php?listingsdb_id=$result[listingsdb_id]'><b>Detail</b></a></font></div>
            
       </div>
   
 </div>

</div><br><br><br><br><br><br><br><br><br><br><br><br>";
      
    
                
           
         }
   
  } 
  
  
  
  ?>


-------------------------------------------------------------------------------------------------------------------------------

// ตัวอย่าง code แบ่งหน้าของคนอื่น

<?php
/* เรียก   phpConfig.php */
//include( "phpConfig.php" );

/* ติดต่อ $conn */
$conn = mysql_connect( "localhost", "root", "" );
if ( ! $conn )
 die( "not connect MySQL " );

/* connect $DataBaseName */
mysql_select_db( "page", $conn )
 or die ( "not connect DataBaseName &auml;&acute;&eacute;" );

$strSQL = "SELECT * FROM tbl_page";

$Per_Page = 3;

if ( !$Page )
 $Page = 1;

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

$result = mysql_query( $strSQL );

$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 "&uml;&Oacute;&sup1;&Ccedil;&sup1; $Page &Aacute;&Ograve;&iexcl;&iexcl;&Ccedil;&egrave;&Ograve; $Num_Pages";

$strSQL .= " LIMIT $Page_start, $Per_Page";

$result = mysql_query( $strSQL );

while ( $rs = mysql_fetch_array( $result ) )
 {
  echo "$rs[ID] <br>\n";
 }
?>
<p class="Small">
result <b><?php echo $Num_Rows; ?></b> &agrave;&Atilde;&curren;&curren;&Iacute;&Atilde;&igrave;&acute; <b><?php echo $Num_Pages; ?></b> &Euml;&sup1;&eacute;&Ograve;:

<?php
/* ปุ่ม ย้อนกลับ */
if ( $Prev_Page )
  echo "<a href=\"$PHP_SELF?Page=$Prev_Page\">&lt;&lt; Prev </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\"> Next &gt;&gt;</a>";

mysql_close( $conn );
?>

webmaster
webmaster
Fri 29 Feb 2008 03:46:29
การจะทำการแบ่งหน้าคุณต้องกา record ทั้งหมด หารด้วยจำนวน record ต่อ 1 หน้า จะได้จำนวนหน้า ในการนำมา query ก็เพิ่มคำสั่ง LIMIT เข้าไปเท่านั้นครับ
แทบไม่ฉลาด
แทบไม่ฉลาด
Sun 2 Mar 2008 16:03:25
ผมเขียนให้โชวข้อมูลบ้านทีละ 3 หลัง มันก็โชว์นะ แต่ปุ่ม เดินหน้า ถอยหลัง มันไม่โชว์อ่ะครับ รบกวนช่วยดูหน่อยครับ ว่ามันผิดตรงไหน

//Code

<?

include_once("connect.php");

$get_id = "SELECT distinct a.listingsdb_id
FROM bkkapart_en_listingsdbelements a, bkkapart_classlistingsdb b
WHERE a.listingsdbelements_field_name = 'city'
and a.listingsdb_id = b.listingsdb_id
and b.class_id = $select_type
ORDER BY a.listingsdb_id ";

// Show Page ---
//---

$Per_Page = 3;

if ( !$Page )
$Page = 1;

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

$Page_start = ( $Per_Page * $Page ) - $Per_Page;

$get_id .= " LIMIT $Page_start, $Per_Page";
$db_query1 = mysql_db_query($dbname,$get_id);
$Num_Rows = mysql_num_rows($db_query1);

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 "Number $Page more than $Num_Pages";



while($result = mysql_fetch_array($db_query1))
{


$sql = "SELECT DISTINCT a.listingsdb_id,(SELECT
b.listingsdbelements_field_value
FROM bkkapart_en_listingsdbelements b
WHERE b.listingsdbelements_field_name = 'city'
AND b.listingsdb_id = a.listingsdb_id ) AS fcity,

(SELECT b.listingsdbelements_field_value
FROM bkkapart_en_listingsdbelements b
WHERE b.listingsdbelements_field_name = 'Area'
AND b.listingsdb_id = a.listingsdb_id ) AS fArea,

(SELECT b.listingsdbelements_field_value
FROM bkkapart_en_listingsdbelements b
WHERE b.listingsdbelements_field_name = 'beds'
AND b.listingsdb_id = a.listingsdb_id ) AS fbeds,

(SELECT b.listingsdbelements_field_value
FROM bkkapart_en_listingsdbelements b
WHERE b.listingsdbelements_field_name = 'price'
AND b.listingsdb_id = a.listingsdb_id ) AS fprice,

(SELECT b.listingsdbelements_field_value
FROM bkkapart_en_listingsdbelements b
WHERE b.listingsdbelements_field_name = 'home_features'
AND b.listingsdb_id = a.listingsdb_id) AS ffeatures,

c.listingsdb_title AS ftitle,
d.listingsimages_thumb_file_name AS fpicture

FROM bkkapart_en_listingsdbelements a, bkkapart_en_listingsdb c, bkkapart_en_listingsimages d
WHERE a.listingsdb_id = $result[listingsdb_id]
AND a.listingsdb_id = c.listingsdb_id
AND c.listingsdb_id = d.listingsdb_id
AND d.listingsimages_rank = '1' ";

//---




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

while($result1 = mysql_fetch_array($db_query2))
{


$title = $result1[ftitle];
$city = $result1[fcity];
$area = $result1[fArea];
$beds = $result1[fbeds];
$price = $result1[fprice];
$H_features = $result1[ffeatures];
$picture = $result1[fpicture];




echo"<br><br>";
echo"<div style='padding: 1px;'>
<div style='float:left; width: 370px; height:220px; border: 1px solid;'>
<div style='float:left; width: 369px; height:20px; border: 1px solid;'><font size = 2><b>$title</b></font></div>
<div style='float:left; width: 110px; height:180px; border: 0px solid;'>
<div style='float:left; margin-left:2px; margin-right:2px; margin-top:2px; margin-bottom:2px; width: 104px; height:176px; border: 0px solid;'><font size = 2><a href='show_detail.php?listingsdb_id=$result[listingsdb_id]'><img src = 'images/listing_photos/$picture' border= 0></a> </font>

</div>
</div>
<div style='float:left; width: 253px; height:180px; border: 0px solid;'>

<div style='float:left; width: 253px; height: 20px;'><font size = 2><b>city</b> : $city</font></div>
<div style='float:left; width: 253px; height: 20px;'><font size = 2><b>area</b> : $area</font></div>
<div style='float:left; width: 253px; height: 20px;'><font size = 2><b>price</b> : $price Thb.</font></div>
<div style='float:left; width: 253px; height: 120px;'><font size = 2><b>features</b> : <br>$H_features</font></div>
</div>
<div style='float:left; width: 370px; height:20px; border: 0px solid;'>
<div style='float:right; width: 50px; height: 20px;'><font size = 2><a href='show_detail.php?listingsdb_id=$result[listingsdb_id]'><b>Detail</b></a></font></div>

</div>

</div>

</div><br><br><br><br><br><br><br><br><br><br><br><br>";




}


}


echo "<br>";
echo "<br>";




?>

<div align="left">



<?


/* Prev page*/
if ( $Prev_Page )
echo "<a href=\"$PHP_SELF?Page=$Prev_Page\">&lt;&lt; </a>";
/* number */
for ( $i=1; $i<=$Num_Pages; $i++ )
{
if ( $i != $Page )
echo "[<a href=\"$PHP_SELF?Page=$i\">$i</a>]";
else
echo " <b>$i</b> ";
}

/* Next page*/
if ( $Page != $Num_Pages )
echo "<a href=\"$PHP_SELF?Page=$Next_Page\"> &gt;&gt;</a>";


?>
</div>
webmaster
webmaster
Mon 3 Mar 2008 11:24:19
คุณต้องตรวจสอบว่าตัวแปร $Prev_Page กับ $Num_Pages มีค่าใด เข้ากับ condition หรือไม่
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login