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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: чтение из файла

Сообщения:  [1-10]   [11-20] 

 
 автор: cheops   (08.09.2005 в 17:18)   письмо автору
 
   для: gurza   (08.09.2005 в 12:58)
 

Замените строку
<?php
     $temp 
= explode('|',$arr[0]);
?>

на
<?php
     $temp 
= explode('|',$arr[$i]);
?>

   
 
 автор: gurza   (08.09.2005 в 12:58)   письмо автору
 
   для: cheops   (08.09.2005 в 02:09)
 


$arr = file("txt/news.txt"); 
// В цикле обходим массив $arr 
for($i = count($arr) - 1; $i >= 0; $i--) 

{ 
     $temp = explode('|',$arr[0]); 
$id = $temp[0]; 
$text = file_get_contents("txt/coment.txt"); 
  $text = preg_match_all("#$id\|#i", $text, $out); 
$count = count($out[0]); 
  echo "<table width='96%' border=0>"; 
    echo "<tr><td><center><b>$temp[1]</b></center><br>$temp[2]<br><br><div align='right'><a href='index.php?id=coment&idn=$temp[0]'>Комментарии</a> ($count)</td></tr>"; 
  echo "</table>"; 
} 


теперь выводит первую новость 2 раза

   
 
 автор: cheops   (08.09.2005 в 02:09)   письмо автору
 
   для: gurza   (07.09.2005 в 20:45)
 

А ну да так и должно быть при бесконечном цикле... исправьте пожалуйста строку
<?php
for($i = count($arr) - 1; $i >= 0; $i++)
?>

следующим образом
<?php
for($i = count($arr) - 1; $i >= 0; $i--)
?>

   
 
 автор: gurza   (07.09.2005 в 20:45)   письмо автору
 
   для: cheops   (07.09.2005 в 20:22)
 

этот скрипт подвешивает комп
когда открываю страницу загрузка ЦПУ 100%

   
 
 автор: cheops   (07.09.2005 в 20:22)   письмо автору
 
   для: gurza   (07.09.2005 в 15:29)
 

Т.е. используйте что-то вроде
<? 
$arr 
= file("txt/news.txt"); 
// В цикле обходим массив $arr 
for($i = count($arr) - 1; $i >= 0; $i++) 
{ 
     
$temp = explode('|',$arr[0]); 
$id = $temp[0]; 
$text = file_get_contents("txt/coment.txt"); 
  
$text = preg_match_all("#$id\|#i", $text, $out); 
$count = count($out[0]); 
  echo 
"<table width='96%' border=0>"; 
    echo 
"<tr><td><center><b>$temp[1]</b></center><br>$temp[2]<br><br><div align='right'><a href='index.php?id=coment&idn=$temp[0]'>Комментарии</a> ($count)</td></tr>"; 
  echo 
"</table>"; 
} 
?>

   
 
 автор: gurza   (07.09.2005 в 15:29)   письмо автору
 
   для: Football   (07.09.2005 в 14:58)
 

а примерчик плиз

   
 
 автор: Football   (07.09.2005 в 14:58)   письмо автору
 
   для: gurza   (07.09.2005 в 14:37)
 

Воспользуйтесь вместо цикла foreach циклом for, идущий в обратном порядке, предварительно посчитав кол-во новостей, они как я понимаю равны кол-ву массивов.

   
 
 автор: gurza   (07.09.2005 в 14:37)   письмо автору
 
   для: gurza   (07.09.2005 в 14:02)
 


<?

$arr 
= file("txt/news.txt"); 
// В цикле обходим массив $arr 
 
foreach($arr as $line)
 { 
     
$temp = explode('|',$line); 
$id = $temp[0];
$text = file_get_contents("txt/coment.txt"); 
  
$text = preg_match_all("#$id\|#i", $text, $out); 
  
 
$count = count($out[0]);
  echo 
"<table width='96%' border=0>";
  
  
    echo 
"<tr><td><center><b>$temp[1]</b></center><br>$temp[2]<br><br><div align='right'><a href='index.php?id=coment&idn=$temp[0]'>Комментарии</a> ($count)</td></tr>";
  
  echo 
"</table>";

}

?>

этот скрипт выводит новости из файла но последняя новость выводится
последней ,а надо выводить её первой.
как это можно сделать????

   
 
 автор: gurza   (07.09.2005 в 14:02)   письмо автору
 
   для: cheops   (07.09.2005 в 02:36)
 

большое спасибо

   
 
 автор: cheops   (07.09.2005 в 02:36)   письмо автору
 
   для: gurza   (07.09.2005 в 00:52)
 

Это можно осуществить при помощи следующего скрипта
<?php 
  $id 
= 1;
  
$text = file_get_contents("text.txt"); 
  
$text = preg_match_all("#$id\|#i", $text, $out); 
  echo 
count($out[0]);
?>

   

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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