вывод по 10 фоток на страницу

Discussion in 'PHP' started by Leon2009, 14 Apr 2016.

  1. Leon2009

    Leon2009 New Member

    Joined:
    1 Sep 2009
    Messages:
    44
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! может кто подсказать как вывести по 10 фоток на страницу, можно примерчик.
    PHP:
    <?php
        $dir 
    'db/'// Папка с изображениями
        
    imgInDir($dir);
        function 
    imgInDir($dir$extension 'jpg') {
            foreach (
    array_diff(scandir($dir), array('.''..')) as $name)
                if (
    is_dir($dir $name))
                    
    imgInDir($dir $name '/'$extension);
                elseif (
    $extension == substr(strrchr($name'.'), 1))
                    echo 
    "<img src='{$dir}{$name}' alt=''/>";
        }
    ?>
     
  2. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
  3. Leon2009

    Leon2009 New Member

    Joined:
    1 Sep 2009
    Messages:
    44
    Likes Received:
    0
    Reputations:
    0
    выводит столько фоток сколько напишу но я бы хотел знать как сделать << 1 2 3 4 5 6 7 8 9 >>
    нажал на один выдал первые 10 на 2 , другие 20.
     
  4. Kamik

    Kamik Member

    Joined:
    2 Dec 2008
    Messages:
    122
    Likes Received:
    85
    Reputations:
    8
    Весь код выдай сюда, что получился. Экстасенсов тут нема.
    Если гадать - то как вариант на каждый переход последующий делать +10, т.е. у тебя в массиве число от 0 до 9, тогда на след переход идет +10, т.е. от 10 до 19 и т.д. Но это - если гадать...
     
  5. Leon2009

    Leon2009 New Member

    Joined:
    1 Sep 2009
    Messages:
    44
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php
    $dir 
    'image/'// Папка с изображениями 
    $skip=0;
    $limit=4;
    imgInDir($dir,$skip,$limit);
    function 
    imgInDir($dir, &$skip,&$limit,$extension 'jpg') {
        foreach (
    array_diff(scandir($dir), array('.''..')) as $name) {
            if (
    is_dir($dir $name)) {
                
    imgInDir($dir $name '/' ,$skip,$limit$extension);
            } elseif (
    $extension == substr(strrchr($name'.'), 1)) {
                 if(
    $skip>0$skip--;
                 else if(
    $limit>0){
                     
    $limit--;
                     echo 
    "<img src='{$dir}{$name}' alt=''/>";
                 } else
                     return ;
            }
        }
    }
    $total_articles_number 20
    $articles_per_page=1;
    $total_pages ceil($total_articles_number/$articles_per_page);
    for (
    $i=0$i<$total_pages$i++){
    $page_number=$i*$articles_per_page;
    if (
    $page_number!=$from) echo "<a href='".$PHP_SELF."?from=".$page_number."'> ".($i+1).
        
    " </a>";
    else echo 
    $i+1//
    }
    ?>
     
  6. Absurd

    Absurd Member

    Joined:
    15 Aug 2016
    Messages:
    20
    Likes Received:
    10
    Reputations:
    0
    Есть разные способы реализации пагинации. Готовый код не выдам - лучше это самому сделать, прочувствовать на себе так сказать :)
    Но могу дать направление, куда копать: вот к примеру один из вариантов реализации разделения конента на страницы https://habrahabr.ru/sandbox/25926/
     
  7. wiKING

    wiKING New Member

    Joined:
    28 Oct 2015
    Messages:
    3
    Likes Received:
    2
    Reputations:
    0
  8. hesher

    hesher Elder - Старейшина

    Joined:
    23 Aug 2005
    Messages:
    74
    Likes Received:
    108
    Reputations:
    4
    @Leon2009 Решил проблему или еще нужна помощь? Там твой текущий код можно дописать несложно. Напиши, если еще актуально.