Странициране на търсачка

sle

Registered
Как да направя странициране на променливата $file която присвоява намерени файлове ?
 
Ами в момента се сещам само за едно... Вкарваш имената на всички файлове, които отговарят на критериите ти в масив и след това страницираш от масива :)

Примерен код :)
Код:
<?php
$page = (int)$_GET['p'];

$arr = array (
		'0' => 'file0.ext',
		'1' => 'file1.ext',
		'2' => 'file2.ext',
		'3' => 'file3.ext',
		'4' => 'file4.ext',
		'5' => 'file5.ext',
		'6' => 'file6.ext',
		'7' => 'file7.ext',
		'8' => 'file8.ext',
		'9' => 'file9.ext',
		'10' => 'file10.ext',
		'11' => 'file11.ext',
		'12' => 'file12.ext',
		'13' => 'file13.ext',
		'14' => 'file14.ext',
		'15' => 'file15.ext',
	);

$perpage = 5;
$pages = ceil(count($arr) / $perpage);

if($page == NULL || $page > $pages || $page < 1) {
$page = 1;
}
$res = ($page - 1) * $perpage;
$limit = $res + $perpage;
for($i=$res;$i<$limit;$i++) {
	echo "{$arr[$i]} <br />";
}
if($page > 1) {
$prev = $page - 1;
$prev = "<a href=\"?p=$prev\"><<</a>";
}
if($page < $pages) {
$next = $page + 1;
$next = "<a href=\"?p=$next\">>></a>";
}
echo "$prev $next";
?>

Ако дадеш малко повече код може и да ти кажа как да вкараш имената на файловете в масив :)

Редакция:
Намерих тук една търсачка (търсачката е от този урок) и направо ти я нагласих със страницирането :)
Код:
<?php
$searched = $_GET['searched'];
echo "
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
<title>Search</title>
</head>

<body>
<center>
<form action=\"s.php\" method=\"get\">
<input type=\"text\" name=\"searched\" value=\"$searched\">
<input type=\"submit\" value=\"submit\">
</form>";

$flag = 0;
$dir = ""; //Папката, в която ще търсиш.
if(isset($_GET['searched']) && $_GET['searched'] != NULL) {
foreach(glob($dir."*") as $file) {
if(@eregi($_GET['searched'], str_replace($dir, "", $file))) {
$arr[] = ("<a href='".$file."' target=_blank>".str_replace($dir, "", $file)."</a><br />\n");
$flag+=1;
}
}

$page = (int)$_GET['p'];

$perpage = 5; //Колко резултата да имаш на страница
$pages = ceil(count($arr) / $perpage);

if($page == NULL || $page > $pages || $page < 1) {
$page = 1;
}
$res = ($page - 1) * $perpage;
$limit = $res + $perpage;
for($i=$res;$i<$limit;$i++) {
	echo "{$arr[$i]} <br />";
}
if($page > 1) {
$prev = $page - 1;
$prev = "<a href=\"?searched=$searched&p=$prev\"><<</a>";
}
if($page < $pages) {
$next = $page + 1;
$next = "<a href=\"?searched=$searched&p=$next\">>></a>";
}
echo "$prev $next";

if($flag==false) {
echo("Няма намерени файлове.");
}
}
echo "
</center>
</body>
</html>
";
?>
 

Back
Горе