2011-12-27 3 views
1

내 사이트에 이미지를 표시하는 스크립트를 작성 중입니다. 이미지는 서버에 저장되고 소스 (경로)는 mySQL 데이터베이스에 저장됩니다. 나는 그렇게하기 위해 만든 두 개의 PHP 함수를 호출하여 다음 (또는 이전 그림)으로 이동할 수 있기를 원합니다. 지금까지 작성한 코드는 다음과 같습니다다음 이미지로 이동하는 스크립트

<?php 

require "db_connection.php"; 

$query="SELECT source FROM photos"; 
$result=mysql_query($query); 

$count=0; 
$numberofpics=mysql_num_rows($result); 

$image=mysql_result($result, $count, "source"); 


$num=1; 

function slideshowForward() { 
$num=$num+1; 
if($num==($numberofpics+1)) { 
$num=1; 
} 
$count=$count+1; 
$image=mysql_result($result, $count, "source"); 
} 

function slideshowBack() { 
$num=$num-1; 
if ($num==0) { 
$num=$numberofpics; 
} 
$count=$count-1; 
$image=mysql_result($result, $count, "source"); 
} 
?> 

이미지를 표시 할 HTML 부분은 다음과 같습니다

<!-- FORWARD AND BACK FUNCTIONS--> 

<a class="back" href="http://mywebsite.com/discoverandrank.php?function=slideshowBack()">   <img src="graphics/back.png"/></a> 

<a class="next" href="http://mywebsite.com/discoverandrank.php? function=slideshowForward()"><img src="graphics/forward.png"/></a> 

<!--DISPLAY MIDDLE PHOTO--> 

<div id="thepics"> 
<img src="http://www.mywebsite.com/<?php echo $image; ?>" name="mypic" border=0 height="300" width="500"></img> 
</div> 

내가 PHP 스크립트는/증가 현재 카운트를 감소시키는 것을 확신 이미지,하지만 이미지의 수가 증가하면 html (특히 img src = "....") 부분은 다시 평가되지 않기 때문에 문제가 발생할 수 있다고 생각하십니까?

답변

0

음 여기에서 지적하는 두 가지가있다 :

  1. 내가 작업에 매개 변수로 함수 이름을 전달하는 것은 좋은 생각이 아니라고 생각 대신해야 같은 사용자 뭔가 : "HTTP ://mywebsite.com/discoverandrank.php?op=next & current = 10 "다음 op 및 현재 값을 평가하여 조치를 취하십시오. 이 같은 것을 사용할 수있는 데이터베이스에서 다음 사진을 gettting를 들어
  2. : 현재 + 1 ", 1"
  3. 데이터베이스에서 이전 사진을 gettting 위해이 같은 것을 사용할 수있다 "사진에서 소스 선택 LIMIT" "소스를 선택하십시오. LIMIT"current-1 ", 1"

이 방법을 사용하면 카운터 및 내용을 유지할 필요가 없습니다. 이러한 쿼리가 데이터를 반환하는지 확인해야합니다.

희망이 도움이됩니다.

+0

"?" 인용하다? (op = next & current = 10) – Nochbag

+0

op = next 및 current = 10은 PHP에서 $ _GET [ "op"] 및 $ _GET [ "current"]로 액세스 할 수 있음을 의미하므로 다음과 같이 할 수 있습니다. if (isset ($ _GET [ "op"] == "다음") {calculateNext();} – guiman

관련 문제