Webmaster общности: Predpriemach.com | SearchEngines.bg

    Извеждане и подреждане на резултати от файл + странициране

    Автор: HunteR

    Сега в този урок ще се опитам да Ви обясня как от даден файл да изкараме резултати като ги подреждаме по брой точки примерно.
    Кода включва и странициране.

    Така ето какво представлява урокът.
    Примерно имаме файла example.txt.
    Той съдържа:

    Stoqn|15
    Go6o|123
    Pe6o|3
    Hristo|33
    Rumen|10
    Nqkaf_si|333
    Druga|222

    Така както виждате той се съдържа от имена и цифри.
    От ляво на „|“ са имената на потребителите примерно, а от дясно да кажем са точките им 🙂
    Целта ни е да направим странициране и подреждане по точки.

    Ето как ще стане това. Просто си направете един файл с подобни на горните данни и страница с долният код, който ще изкарва тези данни.

    <?php
    $file = "example.txt"; // тук пишете файла от, който ще четем
    $str = 3; // по колко резултата да изкарва на страница
    
    // тук взимаме информацията от файла
    $filesize = @filesize($file);
    $fp = @fopen ($file ,"r");
    $text = @fread($fp,$filesize);
    @fclose($fp);
    
    $razdelqne = explode("\n",$text); // разделяме файла на редове
    $kolkooo = count($razdelqne); // преброяваме колко редове съдържа файла
    $i = 0;
    while($i < $kolkooo) {
    $line = explode("|",$razdelqne[$i]);
    $masiv["$line[0]"] = $line[1]; // вкарваме всяко едно име с неговите точки в масив
    $i++;
    }
    natsort($masiv); // подреждаме масива по-големина на точките
    $masiv = array_reverse($masiv); // обръщаме стойностите в масива.
    // Ако желаете да започне да показва потребителтие с най-малко точки просто сложете "#" пред горната функция
    // Пример: #$masiv = array_reverse($masiv);
    
    
    $masiv = array_chunk($masiv, $str,TRUE); // разделяме масива на части за да се осъществи страницирането
    
    // определяме на колко страници да извеждаме резултатите
    $stranici = floor($kolkooo / $str);
    if (($kolkooo % $str) > 0) { $stranici++; }
    
    // правим проверка за избраната страница
    if (isset($_GET['page']) && is_numeric($_GET['page']) && $_GET['page'] <= $stranici) {
    $page = $_GET['page']; // присвояваме избраната страница
    } else {
    $page = 1; // ако не сме избрали страница се задава по подразбиране
    }
    
    $m = $page - 1; // определяме от коя стойност да започне масива
    foreach ($masiv[$m] as $key => $value) {
    echo "Потребител: <b>$key</b>, Точки: <b>$value</b><br />"; // изкарваме резултатите Може да ги променяте.
    }
    
    // Тук извеждаме страниците
    echo "<br><br>Страници: ";
    for ($i=1;$i<=$stranici;$i++) {
    if ($page != $i) {
    echo "<a href=\"?page=$i\">$i</a> ";
    } else {
    echo "$i ";
    }
    }
    ?>

    Надявам се урокът да Ви е бил полезен 🙂

    Урокът е авторски и забранявам преписването му в други сайтове без мое съгласие!

    Оставете коментар