สอบถามการแสดงรูปเพื่อแบ่งหน้าและการส่งค่า
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามการแสดงรูปเพื่อแบ่งหน้าและการส่งค่า
หวัดดีครับ คือ ผมทำ 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>" ; } ?> |
ฝากพี่ๆกูรู ทุกท่านด้วยน่ะครับ รบกวนด้วยครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
แก้บรรทัดที่ 74 เป็นแบบนี้ดู คือเพิ่มตัวแแปร id เข้าไป
1 | echo " || <a $myclass href=\"?page=" . $i . "&id=" . $id . "\">Page $i</a>" ; |

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

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

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