Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2008, 01:51   #1
El_Pablo
Новичок
Джуниор
 
Регистрация: 16.05.2008
Сообщений: 2
Восклицание помогите с разбивкой постранично

проблема вот в чём --- есть черновик гостевой книги , и должно выводиться по 5 сообщений на странице.. ну и соответсвенно ссылки на прошлые и следующие странички. как это дело устроить ?
*для сведения-- гостевая состоит из 3-х файлов.. главной(guestbook.php) ,обработчика(form.php) , и текстового файла...
основной скрипт главного файла


<table width=1 border=0>
<form action="form.php" method="POST">
<tr>
<td width=50%>Имя:</td>
<td align=right>
<input type=text name="name" bgcolor="lightgrey">
</td>
</tr>
<tr>
<td colspan=2>Сообщение:<br>
<textarea cols=50 rows=8 name="msg">
</textarea>
</td>
</tr>
<tr>
<td colspan=2><input type="submit" name="go" value='Добавить'>
<input type="reset" value="Сброс">
</td>
</tr>
</form>
</table>
</center>
<br>
<br>
<br>

<?php
$count=5;
$file1="C:/Program Files/Apache Group/Apache/htdocs/Guestbook/rec.txt";
$str = join('', file($file1));
$array=explode('////',$str);
foreach($array as $k=>$v){
if($k%2 == 0){
$names[]=$v;
}

else {
$messages[]=$v;
}
}

foreach($names as $k=>$v){
print"<table border=1 width=30% cellspacing=0 cellpadding=5>";
print"<tr>";
print "<td bgcolor=#1E90FF><b>$v</b></td>";
print"</tr>";
print"<tr>";
print "<td>$messages[$k]</td>";
print"</table>";
print"<br>";
print"<br>";
}


?>

................................... ................................... ..................................
объяснить желательно на примере моего скрипта
..спасибо )
El_Pablo вне форума Ответить с цитированием
Старый 16.05.2008, 02:35   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

О_о У тебя что, в файле всё в одну строчку записывается? Даже без перевода строки? Ну и месиво... Так ты далеко не уедешь.

PHP код:
<?php
$count
=5;
$file1="C:/Program Files/Apache Group/Apache/htdocs/Guestbook/rec.txt";
$str join(''file($file1));
$array=explode('////',$str);
$all_pages ceil(count($array)/$count);
$page $_GET['page']; // конечно нужно проверить эту переменную. Что это целое число и находится в пределах кол-ва страниц.
$start $page*$count;
foreach(
$array as $k=>$v){
if(
$k%== 0){
$names[]=$v;
}

else {
$messages[]=$v;
}
}

for (
$x=$start;$x<=$start+$count;$x++){
print
"<table border=1 width=30% cellspacing=0 cellpadding=5>";
print
"<tr>";
print 
"<td bgcolor=#1E90FF><b>$names[$x]</b></td>";
print
"</tr>";
print
"<tr>";
print 
"<td>$messages[$x]</td>";
print
"</table>";
print
"<br>";
print
"<br>";
}


?>
Я привёл лишь ПРИМЕР на твоём коде. Дорабатывать и доделывать ещё кучу всего. Оптимизировать и т.д. Но я думаю разберёшься.

З.Ы. Возможно где-то допущена ошибка. Я не проверял скрипт.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 16.05.2008, 12:12   #3
El_Pablo
Новичок
Джуниор
 
Регистрация: 16.05.2008
Сообщений: 2
По умолчанию

спасибо! =)
да действительно .. недоработок валом , но главная проблема была именно в постраничной разбивке....
вот теперь осталось только ссылки на странички сделать ... думаю чт справлюсь , но и от помощи не откажусь =)
El_Pablo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц