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

Форум PHP

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

 

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

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

тема: Постраничная навигация
 
 автор: New   (17.09.2006 в 21:07)   письмо автору
 
 

Помогите, это очень важно.


<?php

     $dir_o 
dir ("users_message");
     
$i 0;
     while (
$entry $dir_o -> read())
{
     if (
substr ($entry,0,3) == "rec")
{
         
$names[$i] = substr ($entry,4);
         
$i++;
 }
}
          
$dir_o -> close();
          @
sort ($names);
          
$count $i;
          
$count1 $count;
          if (empty (
$start))
{
              
$start 0;
}
           
$start intval ($start);
           if (
$start 0)
{
               
$start 0;
}

    for (
$i $start$i $count$i++)
{
    
$entry $names[$i];
     
$data file ("users_message/rec.".$entry);
      
$date $entry;
       
$name trim ($data[0]);
        
$city trim ($data[1]);
          
$email trim ($data[2]);
           
$url trim ($data[3]);
            
$icq trim ($data[4]);
 echo 
$msg[5];
}


Вот по такой системе у меня отображаются сообщения, как и в здешней гостевой.
Дак вот мучался, и так не получилось написать постраничную навигацию, вся надежда на вас...
Помогите очень надо, я PHP только 2 месяца учу, ито не каждый день.

   
 
 автор: dim   (17.09.2006 в 23:54)   письмо автору
 
   для: New   (17.09.2006 в 21:07)
 

Я думаю, что в этой гостевой отображаются они немного по-другому: MySql.. ))
а вот то, что у тебя ничего не выводится не удивительно: не понятно от куда берущееся echo $msg[5] (в скрипте у тебя $msg нигде не определялся).
А вот код:

<?
$dir_rec 
dir("user_message");
$i 0;
while (
$entry $dir_rec->read())
{
 if (
substr($entry,0,3)=="rec"
    {
     
$names[$i]=substr($entry,4);
     
$i++;
    }
}
$dir_rec->close();
@
sort($names);
$count=$i;
$count1=$count;
// а это для корректности (при переходе  start  передается через url
$start=@$HTTP_GET_VARS["start"];
// здесь вместо 10 можно поставить любую переменную,
//  выбирая произвольно к-во выводимых сообщений
if (empty($start)) $start=$i-10;
$start=intval($start);
if (
$start<0$start=0;
print 
"<center>";
if (
$count>$start+10$count=$start+10;
if (
$start != 0)
 {
  print 
"<a href=index.php?start=".($start-10).">Предыдущие</a> ";
 }
print 
" <a href=addrec.php>Добавить запись в мою гостевую!! Yo!</a> ";
if (
$count1>$start+10)
 {
  print 
" <a href=index.php?start=".($start+10).">Следующие</a> \n";
 }
print 
"</center><br>";
for (
$i $count-1$i >= $start$i--)
{
 
$entry=$names[$i];
 
$data=file("records/rec.".$entry);
 
$date=$entry;
 
$name=trim($data[0]);
 
$city=trim($data[1]);
 
$email=trim($data[2]);
 
$url=trim($data[3]);
 
$msg=trim($data[4]);
// а вот вывод инфы о пользователях
 
print "<table border=0>
 <tr bgcolor=#F0F0F0><td>&nbsp;"
;
 print 
"<b>$name</b>&nbsp";
 if (!empty(
$city)) print "$city &nbsp";
 if (!empty(
$email)) print "<a href=mailto:$email><i>$email</i></a>\n";
 if (!empty(
$url)) print "<a href=$url>$url</a>";
 print 
"</td><td align=right>".date("\<\b\>d-m-Y\<\/\b\> H - i"$data)."</td></tr>\n<tr><td colspan=2>\n";
 print 
"<p>".$msg."</p>\n";
 print 
"</td></tr></table>\n<br><br>\n";
}
print 
"<center>";
?>

   
 
 автор: kasmanaft   (17.09.2006 в 23:56)   письмо автору
 
   для: New   (17.09.2006 в 21:07)
 

// 2 месяца учу, ито не каждый день.
учи каждый день, и будет польза ;))


$start - номер страницы или сообщения, с которого нужно начинать вывод?
$count, как я понял - это общее количество сообщений, так?

в цикле $count нужно заменить на "количество сообщений на странице", а не общее их кол-во
и если $start - это не номер страницы, а номер сообщения, то сделать примерно так:

<?
$num 
5// кол-во сообщ. на стр.
for ($i $start$i <= $num $start$i++) 

 ****
 ****
echo 
$msg[5];  // странная строчка, почему именно 5 ?
}

   
 
 автор: New   (18.09.2006 в 15:12)   письмо автору
 
   для: kasmanaft   (17.09.2006 в 23:56)
 

dim, Спасибо...

   
Rambler's Top100
вверх

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