2011-12-09 2 views
0

Я инициализировал переменную, называемую let say a = 0; , когда пользователь нажимает кнопку для следующего снимка, а увеличивается на единицу, и для этого мне нужно вызвать изображение с идентификатором значения «a».Как получить следующее изображение, сохраненное в базе данных в php

Будет ли лучший способ сделать это, чтобы запускать запрос каждый раз, когда нажимается кнопка, или, скорее, хранить все изображения в массиве и вызывать «a-th» значение массива при щелчке?

Пожалуйста, помогите, большое спасибо, спасибо!

ответ

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" />'; 

    } 

и использовать что-то вроде Lightbox вы можете использовать JQuery, чтобы сделать всплывающее окно для просмотра большего размера или добавления гиперссылки на каждое изображение, чтобы они могли просматривать на отдельной странице полноразмерное изображение.

+0

Что было бы лучшим решением? – fosho

+0

в зависимости от количества изображений, размер которых вы хотите загрузить. Если они приличного размера и не так много, я бы сделал это при загрузке save в массив, если они были довольно большими, тогда я оставил бы его у пользователя, если они захотят увидеть следующее, а затем загрузить. Помните, что у пользователя есть загрузочный гид, чтобы рассказать им о его загрузке .. :) – Andres

+0

это, как работают другие галереи? – fosho

0

Вы можете использовать обычный SQL, например, в MySQL

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

Как заметка на полях: Не сохранять все изображения в базе данных, но только путь к нему.

+0

было бы самым эффективным способом сделать это, я мог бы запускать много запросов, если, скажем, 100 изображений = 100 запросов за короткий промежуток времени? – fosho

+0

Его не очень реалистично, что можно просматривать 100 фотографий (скажем) до 1 минуты (или таких?), Поэтому его «достаточно эффективно». – KingCrunch

Смежные вопросы