
Така ето какво представлява урокът.
Примерно имаме файла 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 \";
}
}
?>
Надявам се урокът да Ви е бил полезен :)
Моля влезте, за да коментирате.
|
Рейтингите са достъпни само за регистрирани.
Моля влезте или се регистрирайте за да гласувате.
Няма оценки.
|