За последние 24 часа нас посетили 19285 программистов и 1624 робота. Сейчас ищут 867 программистов ...

Всем привет, помогите зациклить сраницу плииз,,,

Тема в разделе "PHP для новичков", создана пользователем beki007, 25 дек 2011.

  1. beki007

    beki007 Активный пользователь

    С нами с:
    25 дек 2011
    Сообщения:
    25
    Симпатии:
    0
    Здравствуйте помогите пожалуйста новичку зациклить страницу

    Это у меня слишком простая галерея, оно на ajaxe работает, вот код в студию:

    <?php

    $directory = 'pic'; // директория(папка), которую сканируем
    $i = 0; // ставим счетчик
    $array = scandir($directory); // заносим в переменную $array массив, возвращаемый функцией scandir
    unset($array[0], $array[1]); // удаляем 2 ненужных элемента массива ('.' и '..')
    foreach ($array as $file) { // перебираем все элементы массива в цикле
    $nomargin = '';
    if (($i + 1) % 4 == 0) // если это изображение последнее
    $nomargin = ' nomargin'; // это нужно для красивого отступа между изображениями. Попробуйте заменить на $nomargin=''; ;)
    $title = pathinfo($directory . '/' . $file, PATHINFO_FILENAME); // вытаскиваем название файла.
    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; // привабляем к счетчику 1

    }
    /*
    Формат таков:
    <div class="pic" style="background:url(путь к изображению) no-repeat 50% 50%;">
    <a href="путь к изображению" title="заголовок(указывается название изображения)" target="_blank">название изображения</a>
    </div>
    */
    ?>

    но надо зациклить, т.е. разделять по страницам, как могу сделать, пожалуйста помогите...

    заранее спасибо
     
  2. non_stop

    non_stop Активный пользователь

    С нами с:
    25 дек 2011
    Сообщения:
    3
    Симпатии:
    0
    то зациклить, то разделять по страницам, не фига не пойму, что надо!
     
  3. beki007

    beki007 Активный пользователь

    С нами с:
    25 дек 2011
    Сообщения:
    25
    Симпатии:
    0
    вот после этого кода: ++$i; надо остановить счетчик, и надо сделать так чтобы остальные рисунки открылись на другой странице, надо поставить кнопку или ссылку типа |назад, вперед|, и при нажатии допустим вперед, открывать остальные картинки, вот это должно быть зацикленным. Если можно коды напишите. Вот помогите пожалуйста (((
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Это зачем? У тебя в переменной $file итак название файла.

    PHP:
    1. <?php
    2. $directory = 'pic';
    3. $i = 0;
    4. $fullDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . $directory;
    5. $array = scandir($fullDir);
    6. unset($array[0], $array[1]);
    7. // Сколько всего картинок:
    8. $total = count($array);
    9. // Сколько картинок показываем на странице:
    10. $perPage = 8;
    11. // Сколько всего страниц
    12. $pages = (int) ceil($total / $perPage);
    13. // Если картинок в папке нет, всё равно отображаем страницу
    14. if(!$pages)
    15.     $pages = 1;
    16. // Выбранная страница
    17. $page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
    18. // Если вручную ввели неправильный номер страницы
    19. if($page < 1 or $page > $pages) {
    20.     // Можно просто установить номер страницы на 1 или сказать,
    21.     // что такой страницы нет
    22.     header('HTTP/1.1 404 Not Found');
    23.     echo('<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    24. <html><head>
    25. <title>404 Not Found</title>
    26. </head><body>
    27. <h1>Not Found</h1>
    28. <p>The requested URL ' . $_SERVER['REQUEST_URI'] . ' was not found on this server.</p>
    29. <hr>
    30. ' . $_SERVER['SERVER_SIGNATURE'] . '
    31. </body></html>');
    32.     exit;
    33. }
    34. // Начинаем показывать картинки с
    35. $start = ($page - 1) * $perPage;
    36. // Выберем картинки для показа
    37. $array = array_slice($array, $start, $perPage);
    38. foreach($array as $file) {
    39.     $nomargin = '';
    40.     if(($i + 1) % 4 == 0)
    41.         $nomargin = ' nomargin';
    42.     //$title = pathinfo($directory . '/' . $file, PATHINFO_FILENAME);
    43.     $title = $file;
    44.     echo '<div class="pic' . $nomargin . '" style="background:url(' . $directory . '/' .
    45. $file . ') no-repeat 50% 50%;">
    46. <a href="' . $directory . '/' . $file . '" title="' . $title .
    47. '" target="_blank">' . $title . '</a>
    48. </div>';
    49.     ++$i;
    50. }
    51. // Ссылки на страницы
    52. if($pages > 1) {
    53.     for($p = 1; $p <= $pages; ++$p) {
    54.         if($p === $page)
    55.             echo('<b>' . $p . '</b> ');
    56.         else
    57.             echo('<a href="?page=' . $p . '">' . $p . '</a> ');
    58.     }
    59. }
    60. ?>
     
  5. beki007

    beki007 Активный пользователь

    С нами с:
    25 дек 2011
    Сообщения:
    25
    Симпатии:
    0
    спасибо вам большое,