สอบถามเรื่องการส่งค่าเมื่อคลิกที่รูปอ่ะคับ

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

สอบถามเรื่องการส่งค่าเมื่อคลิกที่รูปอ่ะคับ

รูปที่ต้องการคลิกครับ

จากรูปเลยครับ คือผมจะมีหน้าเพจ ให้เลือกรูป คือเมื่อผู้ใช้คลิกที่รูปใดรูปหนี่งแล้วจะมีหน้า Gallery อีกหน้าครับ เช่น คลิกรูปแรก แล้วจะให้ส่งค่าจากรูปแรก ไปเป็น 1 คลิกรูปที่สอง ก็จะให้ส่งค่าเป็น 2 เพื่อนำไป เลือกไฟล์ในหน้า Gallery อ่ะครับ ขอคำแนะนำด้วยครับขอบคุณครับ



Boy415 223.207.49.xxx 08-03-2011 22:59:43

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

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


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


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

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

http://unseenkanchanaburi.com/index.php?content=gallery
แบบเว็บนี้อ่ะครับพี่



boy415 223.207.49.xxx 09-03-2011 00:01
 ความคิดเห็นที่ 2
ถ้ารูปเป็นลิ้งค์ ก็ใส่ ค่าเข้าไปเลย เช่น
<a href="gallery.php?id=1"><img src="test.jpg"/></a>
<a href="gallery.php?id=2"><img src="test.jpg"/></a>

 



Ninenik 124.122.78.xxx 09-03-2011
 ความคิดเห็นที่ 3

ขอบคุณครับพี่ อีกเรื่องน่ะครับ คือผมทำ gallery แบบให้อ่านค่าจากโฟลเดอร์อ่ะครับ แต่ไฟล์ไม่เรียงตามชื่อ เช่น ผมตั้งไว้ 1.jpg - 10.jpg           แต่ตอนแสดงมันไม่แสดงตามรายชือ 1-10 อะครับ โค๊ดนี้น่ะครับ

$allowed_types=array('jpg','jpeg','gif','png');
$file_parts=array();
$ext='';
$title='';
$i=0;

$dir_handle = @opendir($directory) or die("There is an error with your image directory!");

while ($file = readdir($dir_handle)) 
{
	if($file=='.' || $file == '..') continue;
	
	$file_parts = explode('.',$file);
	$ext = strtolower(array_pop($file_parts));

	$title = implode('.',$file_parts);
	$title = htmlspecialchars($title);
	
	$nomargin='';
	
	if(in_array($ext,$allowed_types))
	{
		if(($i+1)%4==0) $nomargin='nomargin';
	
		echo '
		<div class="pic '.$nomargin.'" style="background:url('.$directory.'/'.$file.') no-repeat 50% 50%;">
		<a href="'.$directory.'/'.$file.'" title="'.$title.'" target="_blank">'.$title.'</a>
		</div>';
		
		$i++;
	}
}

คือตอนที่ผมรันที่เครื่องยังไม่อัพขึ้นเซฟเวอร์มันก็เรียงตามชื่อไฟล์ที่ตั้งไว้น่ะครับ แต่พอผมอัพขึ้นเซฟเวอร์ ดันไม่เรียนตามชื่อไฟล์ เหมือนตอนรันในเครื่อง อ่ะครับ



boy415 223.207.49.xxx 09-03-2011 00:19
 ความคิดเห็นที่ 4
แก้ไขนิดหนึ่งครับลืมบรรทัด ที่เรียกไฟล์รูปจากโฟล์เดอร์ครับ
$directory = 'images/gallery/album03';
$allowed_types=array('jpg','jpeg','gif','png');
$file_parts=array();
$ext='';
$title='';
$i=0;

$dir_handle = @opendir($directory) or die("There is an error with your image directory!");

while ($file = readdir($dir_handle)) 
{
	if($file=='.' || $file == '..') continue;
	
	$file_parts = explode('.',$file);
	$ext = strtolower(array_pop($file_parts));

	$title = implode('.',$file_parts);
	$title = htmlspecialchars($title);
	
	$nomargin='';
	
	if(in_array($ext,$allowed_types))
	{
		if(($i+1)%4==0) $nomargin='nomargin';
	
		echo '
		<div class="pic '.$nomargin.'" style="background:url('.$directory.'/'.$file.') no-repeat 50% 50%;">
		<a href="'.$directory.'/'.$file.'" title="'.$title.'" target="_blank">'.$title.'</a>
		</div>';
		
		$i++;
	}
}

closedir($dir_handle);

 



boy415 223.207.49.xxx 09-03-2011 00:20
 ความคิดเห็นที่ 5

ลองดูเนื้อหาจาก ความเห็นที่ 7 จากลิ้งค์นี้ดู

https://www.ninenik.com/forum_view_199_1.html

ดูเพิ่มเติมจากลิ้งค์นี้ดู

https://www.ninenik.com/content.php?arti_id=313



Ninenik 124.120.7.xxx 09-03-2011
 ความคิดเห็นที่ 6

พี่ครับผมลองเอาโค๊ดไปแก้ ตัวอย่างที่สองครับที่มีการแบ่งหน้าการแสดงแต่รูปไม่โชว์อ่ะครับแต่สามารถคำนวณจำนวนรูปออกมาได้ว่าจำนวนรูปเท่าไหรแต่รูปไม่โชว์อ่ะครบ แนะนำด้วยครับ

<?php

$allowed_types=array('jpg','jpeg','gif','png');
$dir    ="gallery/safari54";
$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 = 16;

// คำนวณจำนวนหน้าทั้งหมด
$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 "<img style='width:100px;' src='".$pic_path[$indexPicture]."'/>&nbsp;";	
		//echo "<img style='width:100px;' src='".$pic_path[$indexPicture]."'/>&nbsp;";
		//<div class="pic '.$nomargin.'" style="background:url('.$directory.'/'.$file.') no-repeat 50% 50%;">
}

// แสดงหน้าปัจจุบัน
echo "<br>Page:".$_GET['page'];

 



boy415 180.183.218.xxx 10-03-2011 14:52
 ความคิดเห็นที่ 7

แนบรูปมาดูเพื่อความเข้าใจด้วยครับผมลองก๊อฟโค๊ดมา



boy415 180.183.218.xxx 10-03-2011 14:54
 ความคิดเห็นที่ 8

 ตรง $dir    ="gallery/safari54";  

อย่าลืมใส่ / ด้านหลัง เป็น $dir    ="gallery/safari54/";  จะได้รู้ว่าเป็นโฟลเดอร์



ninenik 27.130.185.xxx 10-03-2011
 ความคิดเห็นที่ 9

ได้แล้วครับพี่ รบกวนอีกนิดน่ะครับ ถ้าเกิด ที่หน้าที่แสดงเช่น ตอนนี้อยู่หน้า Page1 จะให้มีสีทับตัว page1 เพื่อจะได้รุ้ว่าเราอยู่หน้า page1
คือจะให้โชว์หน้าที่แสดงแตกต่างจากหน้าอื่นๆ พี่ๆพอเค้าใจเปล่าครับ ผมอธิบายยังงงเลยครับ

ตัวอย่างเช่น Page1 !! Page2!! Page3  ประมาณนี้ครับพี่

คือจะไม่แสดงบรรทัดนี้echo "<br>Page:".$_GET['page']; 



boy415 180.183.218.xxx 10-03-2011 16:41
 ความคิดเห็นที่ 10

พี่ครับตอนผมรันบนเครื่อง จะเป็นแบบนี้ก็โอเคน่ะครับ  

แต่พออัพขึ้นเซฟเวอร์เป็นงี้อ่ะครับ ต้องแก้ไงอ่ะครับพี่ 



boy415 180.183.218.xxx 10-03-2011 17:04
1 2 Next






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