Автор Тема: все объявления хранятся в файле,. Как разбить на страницы выведенный текст?  (Прочитано 4598 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Need

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ну люди добрые помогите…
Смотрите… все объявления хранятся в ОДНОМ файле, выводятся с помощью

<? 
$openfile=@file("may.php"); 
$strings=count($openfile); 
$u 0
for(
$i $strings$i >= $u;$i--) 

$detail explode(";"$openfile[$i]); 
if(
$detail[1]  == \'audiovideoaparatura\') 

  echo $openfile[$i]; 


?>

Только вывести те объявления у которых $detail[2]==VIDEO
А как теперь выведенные строки разбить по страницам?????
« Последнее редактирование: 12 Июля 2004, 17:37:41 от ThE0ReTiC »

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
УЖЕ выведенные никуда разбить нельзя!
каждая страница в постраничном выводе - это ОТДЕЛЬНЫЙ выхов скрипта

для начала надо не выводить сообщение сразу, а записать его в массив.
вместо
echo $openfile[$i];
написать
$show=$openfile[$i];

И уже массив $show выврдить постранично.
сам постраничный вывод делается легко. в скрипт передается номер записи, с какой выводить, она подставляется в первый оператор for, во втором к нему прибавляется количество записей на страницу - и вот нам выводится определенная страница.

Ну, и ниже надо вывести ссылки. с этим, я надеюсь, справишься?

Оффлайн Need

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RomikChef
Супер.
Я делаю: вместо echo $openfile[$i];
$show[]=$openfile[$i];
Потом делаю новый масив:

<? 
$openfile=@file("may.php"); 
$strings=count($openfile); 
$u 0
for(
$x count($show); $x >= $u;$x--) 

$detail explode(";"$openfile[$x]); 
echo 
$show[$x]; 

?> 

А потом деление по страницам... Все отлично, а как $show присвоить истинный номер строки?
« Последнее редактирование: 12 Июля 2004, 17:38:00 от ThE0ReTiC »

Оффлайн Need

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
немного напутал в скрипте,... много лишнего... но суть понятна...:)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Цитировать
Need:
 а как $show присвоить истинный номер строки?

а зачем?
Цитировать
Need:
немного напутал в скрипте,...

"немного" - это очень мягко сказано

Оффлайн Need

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RomikChef
Цитировать
"немного" - это очень мягко сказано

согласен
Цитировать
а зачем?

print "<SCRIPT language=JavaScript>
  function sk(id) {
    window.open(\'s/opening.php?id=\' + id,\'\',\'toolbar,scrollbars,resizable,width=480,height=
$height\');
  }
</SCRIPT>
<table border=0 width=\\"
100%\\"><tr><td><font face=Verdana, Arial, Helvetica, sans-serif style=\\"font-size10 px;\\">$lais <a  href=\\"javascript:sk(\'$i\')\\">$aste</a></font>$n $p</table>";}


открывается в новом окне и в файле \'s/opening.php Скрипт: если $id==$i (тоесть строке) то выводит.....сообщение содержания равной этой строчке...
Пример можно посмотреть на сайте : http://www.skelbimai.lt
« Последнее редактирование: 12 Июля 2004, 17:38:39 от ThE0ReTiC »

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
если присваивать "истинный" номер, то потом будут проблемы с постраничным выводом.
лучше тогда уж добавлять этот номер к строке, обычным порядком.

выводить большие куски яваскрипта принтом - уродство.

Оффлайн Need

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RomikChef
спасибо за помощь... Очень помог...
А как тогда лучше выводить?
И почему уродство?
Это же можно толкова сделать?
И еще.. у меня все удаляются строки тоже используется номер строки, fputs($f,$a[$i]);

$a=file( "papka/fail.php" );
$row = explode(";", $a[$i]);

$row[5] //присваивается число не равная всем другим...
Как можно переиграть и удалять строку где $row[5] равна числу посланному из формы ? В общем как удалить строку если знаем
$row[5] :)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Цитировать
Need:
А как тогда лучше выводить?
И почему уродство?
Это же можно толкова сделать?

пхп, вообще-то.. прозрачно встраивается в хтмл (то  есть - и яваскрипт тоже)
поэтому проще и правильнее, чтобы не путаться в кавычках, надо просто закрыть тег пхп, написать нужный яваскрипт, а затем открыть тег пхп и продолжить программу.
если где-то в яваскрипте нужно вывести переменную пхп - то точно так же - открыл тег пхп, вывел, закрыл.
Цитировать
Need:
И еще.. у меня все удаляются строки тоже используется номер строки

не понял.
какая связь между номером строки и explode?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
?>
<SCRIPT language=JavaScript>
function sk(id) {
window.open(\'s/opening.php?id=\' + id,\'\',\'toolbar, scrollbars, resizable, width=480, height=<? echo $height ?>\');
}
</SCRIPT>
<table border=0 width=\\"100%\\">
<?
...циклкак я понимаю... {
?>
  <tr>
    <td>
<font face=Verdana, Arial, Helvetica, sans-serif style=\\"font-size: 10 px;\\">
<? echo $lais?>
<a href=\\"java script:sk(\'<? echo $i ?>\')\\"><? echo $aste ?></a></font>
<? echo $n." "$p?>
    </td>
  </tr>
<? ?>
</table>

Оффлайн Need

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RomikChef
Неее... у меня есть форма, в ней указывается номер строки $i ..при нажатии на кнопку удолить форма посылается с номером..
fputs($f,$a[$i]);
и тут он удаляет эту строку с этим номером...
А так как строки у нас уже с дригим порядкам в $row[5] я записываю все эти строки письменно, и вместо строки посылается эта $row[5]...
Вопрос как переиграть чтобы удолить эти строку у которой $row[5]==$i...???
Что-то вроде этого... ;)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Цитировать
Need:
fputs($f,$a[$i]);

ты все время приводишь здесь этот код в связи с удалением.
не пояснишь ли ты, как они связаны?

Цитировать
Need:
Вопрос как переиграть чтобы удолить эти строку у которой $row[5]==$i...???

БЕРЕШЬ И УДАЛЯЕШЬ строку с номером, который передал из формы!!!
Это же номер строки в файле и есть! при чем здесь какой-то $i???
Тупить-то уже заканчивай.
Надоедает, как бы.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28