Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: постраничный вывод
 
 автор: relikt   (18.04.2007 в 21:35)   письмо автору
 
 

Помогите решить проблему. Вот есть следующий пример:
<?
Error_Reporting(0);
$pnumber = 4;

@$start = $_GET["start"];

$dir_rec = dir(".");
$i = 0;
while($entry = $dir_rec->read())
{
if (substr($entry,0,6)=="index-")
{
$names[$i]=substr($entry,0);
$i++;
}
}
$dir_rec->close();
@rsort($names);
$count = $i;
$count1 = $count;

if (empty($start)) $start = 0;
if ($start < 0) $start = 0;


if ($count > $start + $pnumber) $count = $start + $pnumber;

if ($start != 0)
{
print " <A class=link href=index.php?start=".($start - 4).">Предыдущие</A> ";
}
if ($count1 > $start + 4)
{
print " <A class=link href=index.php?start=".($start + 4).">Следующие</A> \n";
}
print "<br><br>";

for ($i = $start; $i < $count; $i++)
{

$tt = $names[$i];
$filet = "counter/$tt.dat";
$f = fopen($filet, "r+t");
flock($f, LOCK_EX);
$conter = fread($f, 100);

$content = file_get_contents("$names[$i]");
$pattern = "|<title>(.*)</title>|si";
if (preg_match($pattern, $content, $out))

$con = file_get_contents("$names[$i]");
$pat = "|<h3>(.*)</h3>|si";
if (preg_match($pat, $con, $vip))

echo "<hr><b>".$out[1] ."</b><br><i>". $vip[1] ."</i> <a href='$names[$i]' title='$out[1]'>Читать статью...</a><br />Количество просмотров ". $conter .".<br /><hr>";
}

if ($start != 0)
{
print " <A class=link href=index.php?start=".($start - 4).">Предыдущие</A> ";
}
if ($count1 > $start + 4)
{
print " <A class=link href=index.php?start=".($start + 4).">Следующие</A> \n";
}
print "<br><br>";


$dir_r = dir(".");
$i = 1;
while($ent = $dir_r->read())
{
if (substr($ent,0,6)=="index-")
{
$nam[$i]=substr($ent,0);
$i++;
}
}
$dir_r->close();
@rsort($nam);
$cont = count($nam);
echo "Количество статей $cont.";

?>

Как мне добится, что бы пользователь, зашедший на сайт мог сортировать записи не только по дате добавления, но и по количеству просмотров. Количество просмотров хранятся в папке counter и их названия совпадают с названиями записей index-1.php index-2.php и т.д.

   
 
 автор: Trianon   (18.04.2007 в 21:49)   письмо автору
 
   для: relikt   (18.04.2007 в 21:35)
 

>Как мне добится, что бы пользователь, зашедший на сайт мог сортировать записи не только по дате добавления, но и по количеству просмотров.

Обычно для сортировки по произвольному критерию применяется функция usort()

>Количество просмотров хранятся в папке counter и их названия совпадают с названиями записей index-1.php index-2.php и т.д

Вот это как-то не очень понятно. Как именно хранится количество просмотров?
не помешал бы небольшой пример.

   
 
 автор: relikt   (18.04.2007 в 21:54)   письмо автору
 
   для: Trianon   (18.04.2007 в 21:49)
 

тоесть например у меня есть файл с записями index.php ему соответствует в том же каталоге файл index.bat в котором храняться значения о количестве просмотров, например 25 или 30. больше там ничего нет.

   
 
 автор: relikt   (18.04.2007 в 22:02)   письмо автору
 
   для: Trianon   (18.04.2007 в 21:49)
 

>Обычно для сортировки по произвольному критерию применяется функция usort()
Как это реализовать, что эту функцию применять, это понятно, но как?

   
 
 автор: indexer   (18.04.2007 в 22:33)   письмо автору
 
   для: relikt   (18.04.2007 в 21:35)
 

УЖАС! а базу поднять не пробовали? там проще это будет и намного.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования