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

Форум PHP

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

 

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

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

тема: Сортировка
 
 автор: maDMo3r   (29.12.2004 в 13:14)   письмо автору
 
 

У меня проблема не сортируются Сообщения в гостевой книге (О_о)..
Когда нажимаю Следующие и оно Выводит теже сообщения но не предыдущие :(
Вот код посмотрите может гдето ошибочка вышла ..


<?
// Открываем Каталог и считываем с него файлы
$dir_rec dir("records");
$i 0;
while(
$entry $dir_rec->read())
{
    if (
substr($entry,0,3)=="rec")
     {
      
$names[$i]=substr($entry,4);
     
$i++;
    }
}
$dir_rec->close(); // Закрываем Каталог
@rsort($names); //Сортируем файлы
// Определяем очередность сообщений и выводим их
$count $i;
$count1 $count;
if (empty(
$start))
{
    
$start 0;
    }
    
$start intval($start);
        if (
$start )
        {
            
$start 0;
            }
        print 
"<center>";
    if (
$count $start 5$count $start 5;
    if (
$start != 0)
    {
        print 
" <a href=index.php?start=".($start 5).">Предыдущие</a> ";
    }
        print
" <a href=addmsg.php>Добавить Сообщение</a> ";
        if (
$count1 $start 5)
        {
            print 
"<a href=index.php?start=".($start 5).">Следующие</a> \n";
            }
        print
"</center><br>";
        
// Выводим все сообщения в цикле
        
for ($i $start$i $count$i++)
        {
            
$entry $names[$i];
            
$data file("records/rec.".$entry);
            
$date $entry;
            
$name trim($data[0]);
            
$email trim($data[1]);
            
$ip trim($data[2]);
            
$msg trim($data[3]);
            
// Поле , в Котором администратор может добавить ответ

    
print "<table border=0 cellspacing=0 cellpadding=2 width=80% align=center>
    <tr bgcolor=#F0F0F0><td>&nbsp;"
;
    print
"<b>$name</b>&nbsp";
    if (!empty(
$email)) print "<br><a href=mailto:$email><i>$email</i></a>\n ";
    print 
"<p>".$ip."</p>\n";
    print 
"</td><td align=right>".date("<b>d-m-y</b>H - i")."</td></tr>\n<tr><td colspan=2>\n";
    print 
"<p>".$msg."</p>\n";
    if (!empty(
$answer)) // Если администратор что-то ответил
    
{
        print 
"<p><font color=#1E90FF>admin:&nbsp$answer</font></p>\n";
        }
    print 
"</td></tr></table>\n<br><br>\n";
}
print 
"<center>";
if (
$start != 0)
    {
        print 
" <a href=index.php?start=".($start 5).">Предыдущие</a> ";
    }
        print
" <a href=addmsg.php>Добавить Сообщение</a> ";
        if (
$count1 $start 5)
        {
            print 
"<a href=index.php?start=".($start 5).">Следующие</a> \n";
            }
        print
"</center>";
        
?>

   
 
 автор: cheops (из ННГУ)   (29.12.2004 в 13:30)
 
   для: maDMo3r   (29.12.2004 в 13:14)
 

У вас ссылки для "Следующие" и "Предыдущие" совпадают...
<?php
  
print " <a href=index.php?start=".($start 5).">Предыдущие</a> ";
  print 
"<a href=index.php?start=".($start 5).">Следующие</a> \n"
?>

В обоих случаях вычитает 5 от $start...

   
 
 автор: maDMo3r   (29.12.2004 в 13:34)   письмо автору
 
   для: cheops (из ННГУ)   (29.12.2004 в 13:30)
 

Ну я измени л ивсе равно (О_о)

   
 
 автор: Akira   (29.12.2004 в 13:58)   письмо автору
 
   для: maDMo3r   (29.12.2004 в 13:34)
 

По-моему лучше использовать БД.
Даже бесплатные хостинги предостовляют ее.

   
 
 автор: maDMo3r   (29.12.2004 в 14:23)   письмо автору
 
   для: Akira   (29.12.2004 в 13:58)
 

Разобрался в книге посмотрел как сделано
там вначало надо было поставить

$start = $_GET["start"];

Но когда захожу на index.php
пишется что Notice: Undefined index: start in d:\Apach\www\guest\index.php on line 54
Какможно это обойти ? чтобы оно не писало это?

   
 
 автор: cheops (из ННГУ)   (29.12.2004 в 14:32)
 
   для: maDMo3r   (29.12.2004 в 14:23)
 

Это не ошибка это замечание (совет по кодированию) и связан он с высоким уровнем ошибки выставленным по умолчанию в php.ini - его следует понизить присвоив директиве error_reporting более низкий уровень, как на большинстве хостингов. Подробности по ссылке:

http://www.softtime.ru/info/articlephp.php?id_article=23

   
 
 автор: maDMo3r   (29.12.2004 в 14:36)   письмо автору
 
   для: cheops (из ННГУ)   (29.12.2004 в 14:32)
 

А есл ия например дам своему другу эту гостевую ему же надо тоже исправлять в php.ini .. Как можно по другому это сделатЬ ?:)

   
 
 автор: glsv (Дизайнер)   (29.12.2004 в 21:58)   письмо автору
 
   для: maDMo3r   (29.12.2004 в 14:36)
 

>ему же надо тоже исправлять в php.ini
Естественно нужно. Но ведь WEB-сервер, как довольно серьезная программа, нуждается в настройке. А не настроенный WEB-сервер просто не будет работать.
Как компромисс, можно писать в readme к скрипту требование к установке директив php.ini

   
 
 автор: maDMo3r   (30.12.2004 в 09:11)   письмо автору
 
   для: glsv (Дизайнер)   (29.12.2004 в 21:58)
 

Окей Спасибо большое (Дизайнер & Cheops) :)

   
Rambler's Top100
вверх

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