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

Форум PHP

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

 

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

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

тема: Объединить скрипты: вывод ограниченного числа записей из файла
 
 автор: ZetRider   (12.03.2006 в 20:02)   письмо автору
 
 

Привет, вот есть скрипт он выводит сообщения из файла:

<?php 
  $arr 
file("chat.txt"); 
  
krsort($arr); 
  foreach (
$arr as $row) { 
    list(
$name$msg$time$ip) = explode(":"$row); 
    print  
"<b>$name :</b>"
  for(
$i=0$i<=strlen($msg); $i+=5) { 
  echo 
substr($msg$i5). "<br>"

  } 

?>


И мне нужно сделать так чтобы он выводил только по 5 новых сообщений, а те что после 5-ти невыводил.. В логах 1 строка = 1 сообщению, тоесть там запись идет так:

name:msg:time:ip:

вот скрипт который выводит по 5 сообщений:


<? 
$file
=file("text.txt"); 
$strings="5"
    for(
$i_str=0;$i_str<$strings;$i_str++) 
   { 
   
$string.=$arr[$i_str]; 
   } 

echo 
$string
?>


Так вот проблема, пытался их обединить и никак невыходило... Помогите плиз соединиить их)

   
 
 автор: cheops   (12.03.2006 в 20:08)   письмо автору
 
   для: ZetRider   (12.03.2006 в 20:02)
 

Можно поступить примерно следующим образом
<?php 
  $arr 
file("chat.txt"); 
  
krsort($arr); 
  
$total 5
  for(
$i=0$i<$total$i++) 
  { 
    list(
$name$msg$time$ip) = explode(":"$arr[$i]); 
    print  
"<b>$name :</b>"
    for(
$i=0$i<=strlen($msg); $i+=5)
    { 
      echo 
substr($msg$i5). "<br>"
    } 
  } 
?>

   
 
 автор: ZetRider   (12.03.2006 в 20:19)   письмо автору
 
   для: cheops   (12.03.2006 в 20:08)
 

неа,.. он щас выводит тока первое сообщение и все, больше ничего непоказывает ((

   
 
 автор: ZetRider   (12.03.2006 в 21:41)   письмо автору
 
   для: ZetRider   (12.03.2006 в 20:19)
 

Чета нитак не эдак (

   
 
 автор: cheops   (13.03.2006 в 01:36)   письмо автору
 
   для: ZetRider   (12.03.2006 в 20:19)
 

Есть такое дело, следует исправить следующим образом
<?php 
  $arr 
file("chat.txt"); 
  
krsort($arr); 
  
$total 5
  for(
$i=0$i<$total$i++) 
  { 
    list(
$name$msg$time$ip) = explode(":"$arr[$i]); 
    print  
"<b>$name :</b>"
    for(
$j=0$j<=strlen($msg); $j+=5
    { 
      echo 
substr($msg$j5). "<br>"
    } 
  } 
?>

   
 
 автор: ZetRider   (13.03.2006 в 12:49)   письмо автору
 
   для: cheops   (13.03.2006 в 01:36)
 

хм.. хорошо бы еще в обратном порядке, как я понял ето делается так:

<?php 
$file 
file('chat.txt'); 
for(
$a=4$a>=0$a--) { 
  
$row $file[$a]; 
  list(
$name$msg$time$ip) = explode(":"$row); 
  print  
"<b>$name :</b>"
  for(
$i=0$i<=strlen($msg); $i+=5) { 
    echo 
substr($msg$i5). "<br>"
  } 

?>


Но он почему та выводит щас тока сообщения с 1 по 5,.. а сообщения которые идит после 5-го невыводятся((
В логе назодится:

1:1:12.03.06:127.0.0.1:
2:2:12.03.06:127.0.0.1:
3:3:12.03.06:127.0.0.1:
4:4:12.03.06:127.0.0.1:
5:5:12.03.06:127.0.0.1:
6:6:13.03.06:127.0.0.1:
7:7:13.03.06:127.0.0.1:
8:8:13.03.06:127.0.0.1:

он вывел только

1:1:12.03.06:127.0.0.1:
2:2:12.03.06:127.0.0.1:
3:3:12.03.06:127.0.0.1:
4:4:12.03.06:127.0.0.1:
5:5:12.03.06:127.0.0.1:

А как сделать чтобы он выводил новые сообщения?

   
 
 автор: cheops   (13.03.2006 в 13:54)   письмо автору
 
   для: ZetRider   (13.03.2006 в 12:49)
 

Хм... может лучше играться сортировкой
<?php
  krsort
($arr);
?>

попробуйте сортировать в обратном порядке.

   
 
 автор: ck   (14.03.2006 в 19:54)   письмо автору
 
   для: ZetRider   (13.03.2006 в 12:49)
 

ZetRider, вы уже открывали один раз такую тему. И два дня назад я написал вам законченные варианты и с прямым и с обратным выводом. Но вы не прочли их и создали новую тему.

   
 
 автор: ZetRider   (14.03.2006 в 22:32)   письмо автору
 
   для: ck   (14.03.2006 в 19:54)
 

Сори, ответ в той теме я написал, то что он выводит только 5 сообщений тоесть тока первые 5 строк, а остальные невыводит... тоесть он выводит строки с 1-ой по 5-ую... а есть еще строки 6,7,8,9 и они считаютя новыми, так вот теперь он должен вывести с 5-ой по 9-ую

   
Rambler's Top100
вверх

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