2011-12-09 6 views
0

나는 let = a라고하는 변수를 초기화했습니다. 사용자가 다음 그림의 단추를 클릭하면 a가 하나씩 증가하고 'a'값의 ID로 그림을 호출해야합니다.PHP에서 데이터베이스에 저장된 다음 이미지를 얻는 방법

버튼을 클릭 할 때마다 쿼리를 실행하거나 모든 이미지를 배열에 저장하고 클릭시 배열의 'a 번째'값을 호출하는 것이 가장 좋을까요?

감사합니다. 감사합니다. 데이터베이스에 전체 이미지를 저장하지 않습니다,하지만 만 경로 :

답변

0

두 가지 상황 모두에 단점이 있습니다.

  1. 모든 이미지를로드하고 시간이 걸릴 수 있습니다 첫번째 사진을로드하고, 사용자가 더도 나머지에가는에 관심이있을 수 있음을 배열에 저장하면

    .

  2. 다음에 클릭 할 때로드하면 각 이미지가로드 될 때까지 다소 시간이 걸릴 수 있습니다.

업로드 이미지

$filename = ""; 

      if(!empty($_FILES["file"])) 
      { 
       if ((($_FILES["file"]["type"] == "image/gif") 
        || ($_FILES["file"]["type"] == "image/jpeg") 
        || ($_FILES["file"]["type"] == "image/pjpeg"))) 
       { 
        if ($_FILES["file"]["error"] > 0) 
         echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
        else 
        { 
         $filename = $_FILES["file"]["name"]; 
         if (file_exists("../img/noticias/" . $_FILES["file"]["name"])) 
          echo "Image " .$_FILES["file"]["name"] . " exists."; 
         else 
         { 
          move_uploaded_file($_FILES["file"]["tmp_name"], 
          "your server path" . $_FILES["file"]["name"]); 

         } 
        } 
       } 
      } 

는 갤러리

while($row = $db->fetch_array($query)){ 
     echo '<img src="path/to/images/' . $row['filename'] . '" width="219" height="117" />'; 

    } 

당신은 팝업을 만들기 위해 jQuery를 사용할 수있는 라이트 박스 같은 것을 사용하여 그들을 보려면 테이블 에 $ 파일 이름을 저장 큰 이미지를 보거나 각 이미지에 하이퍼 링크를 추가하여 별도의 페이지에서 전체 크기의 이미지를 볼 수 있습니다.

+0

최상의 솔루션은 무엇입니까? – fosho

+0

은로드하려는 이미지의 크기에 따라 다릅니다. 만약 그들이 괜찮은 크기가 아니라 많은 다음 배열에 저장로드에 그것을 할 것이라고 그들은 꽤 큰 다음 나는 사용자 다음에로드를보고 싶다면, 그것을 떠날 것이다. 사용자 경험을 위해 로딩 GIF를 가지고 있다는 것을 기억하십시오. :) – Andres

+0

다른 갤러리는 어떻게 작동합니까? – fosho

0

당신은 (!) 참고로

SELECT * FROM images WHERE [here your where-clause] LIMIT 1 OFFSET $a; 

MySQL의

예를 들면, 일반 SQL을 사용할 수 있습니다.

+0

이 방법이 가장 효율적인 방법일까요? 짧은 시간에 100 개의 그림 = 100 개의 쿼리가 있다고 말하면 많은 쿼리를 실행할 수 있습니까? – fosho

+0

그다지 현실적이지 않아, 1 분 (또는 그 정도) 이하에서 100 장의 사진을 볼 수 있기 때문에 "충분히 효율적"입니다. – KingCrunch

관련 문제