Потребител Парола | Регистрация | Забравена парола
Меню
· Начало
· Файлове
· Форум
· Връзки
· Категории на уроците
· За контакти
· Фото галерия
· Търсене
Кажи на приятел

Вашия email:
email на приятел:
Копие за вас?
Реклама

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

PHP & MySQLТака ето какво представлява урокът.
Примерно имаме файла 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 \";
}
}
?>








Надявам се урокът да Ви е бил полезен :)
· smilev на January 12 2011 09:45:19 · 0 Коментари · 1832 Прочитания · Отпечатай
Коментари
Няма добавени коментари.
Напиши коментар
Моля влезте, за да коментирате.
Оценка
Рейтингите са достъпни само за регистрирани.

Моля влезте или се регистрирайте за да гласувате.

Няма оценки.
Вход
Потребител

Парола



Не сте регистрирани?
Натиснете тук за регистрация.

Забравена парола?
Натиснете тук за нова.
Анкета
С каква операционна система работите











Трябва да влезете за да гласувате.
ЧАТ
Трябва да влезате за да пуснете съобщение.

Няма съобщения.
Статистика