สอบถามการแสดงรูปเพื่อแบ่งหน้าและการส่งค่า

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามการแสดงรูปเพื่อแบ่งหน้าและการส่งค่า

สอบถามการแสดงรูปเพื่อแบ่งหน้าและการส่งค่า

หวัดดีครับ คือ ผมทำ gallery ส่งค่ามาตรวจสอบที่หน้าแสดงรูป เช่น ค่าที่ส่งมาเท่ากับ 1 ก็ให้อ่านไฟล์รูปจากโฟล์เดอร์ และมีการแสดงหน้าละ 20 รูป ค่าที่ส่งมาก็โอเคครับแต่จะมีปัญหาตรงการแบ่งหน้าครับ สมติถ้า แบ่งหน้าได้ 3 หน้า พอคลิกหน้าที่ 2 ค่าบนแอดเดรสบาร์ ก็จะเปลี่ยนตามไปด้วย ทำให้วนไปตรวจสอบเงื่อนไขของ ออฟชั่นแรกครับ ไม่ทราบพอจะเข้าใจคำถามผมเปล่าครับ ผมแทรกโค๊ดมาให้ดูเผื่อจะงงง กับคำถามผม ขอความช่วยเหลือด้วยน่ะครับ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
$allowed_types=array('jpg','jpeg','gif','png');
/*$id==2;*/
 
if($id==1)
{
$dir = 'gallery/techerday54/';
}elseif($id==2)
{ $dir = 'gallery/activity54/'; }
else
{   $dir = 'gallery/farterday54/';}
 
$files1 = scandir($dir);
$total=0; // นับจำนวนรูปทั้งหมด
$pic_path=array();
foreach($files1 as $key=>$value){
    if($key>1){
        $file_parts = explode('.',$value);
        $ext = strtolower(array_pop($file_parts));
        if(in_array($ext,$allowed_types)){
            $pic_path[]=$dir.$value;
            $total++;
             
        }
 
    }
}
// จำนวนรายการที่ต้องการแสดง แต่ละหน้า
$perPage = 20;
 
// คำนวณจำนวนหน้าทั้งหมด
$num_naviPage=ceil($total/$perPage);
 
// กำหนดจุดเริ่มต้น และสิ้นสุดของรายการแต่ละหน้าที่จะแสดง
if(!isset($_GET['page'])){
    $s_key=0;
    $e_key=$perPage;   
    $_GET['page']=1;
}else{
    $s_key=($_GET['page']*$perPage)-$perPage;
    $e_key=$perPage*$_GET['page'];
    $e_key=($e_key>$total)?$total:$e_key;
}
/*
for($i=1;$i<=$num_naviPage;$i++){
    echo "  || <a href="?page=".$i."">Page $i</a>";
}
*/
echo "<hr>";
 
// แสดงรายการ
 
 
 
for($indexPicture=$s_key;$indexPicture<$e_key;$indexPicture++){
     
        echo '
        <div class="pic '.$nomargin.'" style="background:url('.$pic_path[$indexPicture].') no-repeat 50% 50%;"> ';
        echo '
        <a href="'.$pic_path[$indexPicture].'" title="'.$title.'" target="_blank">'.$title.'</a>
        </div>';
}
 
echo"<hr>";
 
for($i=1;$i<=$num_naviPage;$i++){ 
    $myclass="";
    if(!isset($_GET['page']) && $i==1){
        $myclass="class="current_page"";
    }
    if(isset($_GET['page']) && $_GET['page']==$i){
        $myclass="class="current_page"";
    }
    echo "  || <a $myclass href="?page=".$i."">Page $i</a>";  
}
 
 
?>

ฝากพี่ๆกูรู ทุกท่านด้วยน่ะครับ รบกวนด้วยครับ



Boy415 20-06-2011 10:21:23

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

 แก้บรรทัดที่ 74 เป็นแบบนี้ดู คือเพิ่มตัวแแปร id เข้าไป

1
echo "  || <a $myclass href=\"?page=".$i."&id=".$id."\">Page $i</a>";

 



Ninenik 21-06-2011
 ความคิดเห็นที่ 2

ได้แล้วครับพี่ ขอบคุณพี่มากๆครับ 



boy415 21-06-2011 16:46
 ความคิดเห็นที่ 3

รบกวนพี่อีกนิดนะครับ พี่ครับตอนรันบนเครื่องก็โอเคดีครับ   แต่พอผมอัพขึ้น Host กลับไม่ได้ครับจะไปหา
บรรทัดที่ 11 อ่ะ แต่ตอนรันบน localhost ที่เครื่องก็รันได้ปกติครับแบ่งหน้า  ยังไงรบกวนพี่อีกนิดน่ะครับ

ขอบคุณครับ



boy415 29-06-2011 16:21
 ความคิดเห็นที่ 4

เจอปัญหาแล้วครับ ผิดตรงบรรทัดการส่งค่า $id=$_GEST[id]



boy415 29-06-2011 17:08
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ