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

Форум PHP

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

 

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

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

тема: Какалог (постраничная навигация)
 
 автор: Эдуард   (06.09.2005 в 17:06)   письмо автору
 
 

Привет Всем. Я собрался написать каталог на РНР, начать я его смог, а закончить не могу. Помогите мне с правильным выводом объявлений и использованием команды цикла for.Код скрипта я приведу ниже.

<html>
<head>
<TITLE>Каталог ссылок от Дашевского Эдуарда.</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="TEXT/HTML; CHARSET=windows-1251">
<style type="text/css">
<!--
.style1 {font-family: "Comic Sans MS"}
.style2 {font-family: "Times New Roman", Times, serif}
body {
    background-image: url(t.gif);
}
-->
</style>
</head>
<body>
<p align="center"><img src="back.gif" width="300" height="80"></p>
<?php
###############################################################################
###############################################################################
##Скрипт "Каталог v1.0" предназначен для повышения Тиц Вашего сайта.         ##
##Автор скрипта: Дашевский Эдуард.                                           ##
##Скрипт написан: 10 сентября 2005г.                                         ##
##Скрипт принадлежит автору. Запрещается распространять скрипт без           ## 
##авторского согласия. Что бы снять авторские ссылки обращайтесь на          ##
##мэил: edik_dashevskii@mail.ru или свяжитесь со мной по асе: 34-661155-0.   ##
###############################################################################
###############################################################################

// Начало скрипта
include "configuration.php";
echo 
"<body bgcolor=$bgcolor>";
       
$fod=getcwd();

       
$fold=$fod."/basa";



       
chdir($fold);

       
$fo=opendir($fold);

       while (
$read=readdir($fo))

       {if((
$read!=".")&&($read!=".."))

       {

       
$a[]=$read;

       
asort($a);

       }

       }

       
closedir($fo);

@
$ad=sizeof($a);
echo 
"<table bgcolor=FFFFFF width=800 align=center border=1><tr><td><center>Сейчас в базе $ad 

ссылок</center></td></tr></table>"
;
$dir ".";
$d = @opendir($dir);
if (
$d) {
    
$list = array();
    while (
false !== ($e readdir($d))) {
        if (
$e[0] == ".") continue;
        
$list[] = "$dir/$e";
    }
    
rsort($list);

    if (
$list) {
        foreach (
$list as $fname) {
            
$f = @fopen($fname"r"); if (!$f) continue;
$ssil = (fread($f,filesize($fname)));
$i 0;
for (
$i 1$i <= $ss$i++)
{
echo 
"<table bgcolor=FFFFFF width=800 align=center border=1><tr><td><center>$i</center>$ssil</td></tr></table>";
}
        }
    }
}
?>
</body>
</html>

   
 
 автор: cheops   (06.09.2005 в 17:59)   письмо автору
 
   для: Эдуард   (06.09.2005 в 17:06)
 

А в чём проблема? Что не работает?

   
 
 автор: Эдуард   (07.09.2005 в 10:12)   письмо автору
 
   для: cheops   (06.09.2005 в 17:59)
 

При создании скрипта я хотел использовать вместе функцию for и fread.Я добился чтения файлов из каталога basа. Но я не могу добиться вывода именно 10 объявлений. При использовании функции цикла, эти 10 таблиц создаются, а вывод получается такой: Сколько файлов в каталоге столько 10 таблиц и создаються, помогите решить эту проблему.

   
 
 автор: cheops   (07.09.2005 в 13:20)   письмо автору
 
   для: Эдуард   (07.09.2005 в 10:12)
 

Так как вопрос о постраничной навигации возникает достаточно часто, Artem S. написал специальную статью, которая помещена в разделе "Статьи о PHP" http://www.softtime.ru/info/articlephp.php?id_article=33, кроме того, вы можете посмотреть тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3044, где приводится список тем с различными вариантами постраничной навигации.

   
 
 автор: Эдуард   (07.09.2005 в 15:47)   письмо автору
 
   для: cheops   (07.09.2005 в 13:20)
 

Сейчас попробуем.

   
 
 автор: Эдуард   (07.09.2005 в 16:08)   письмо автору
 
   для: Эдуард   (07.09.2005 в 15:47)
 

Каталог построен не на MySQL, А на обычных файлах. Покажите мне пожалуйста, как вывести на страницу содержимое файлов, и как сделать что бы выводилось определённое кол-во ссылок. Добавляю сам каталог(архив). Скачайте и посмотрите где моя ошибка.

   
 
 автор: cheops   (08.09.2005 в 02:04)   письмо автору
 
   для: Эдуард   (07.09.2005 в 16:08)
 

Хм... что-то не видно элементов постраничной навигации, они где сосредоточены?

   
 
 автор: Эдуард   (08.09.2005 в 02:32)   письмо автору
 
   для: cheops   (08.09.2005 в 02:04)
 

Пока что постраничной навигации нет, мне надо что бы на страницу выводилось содержимое файлов находящихся в basa, каталог ведь не на MySQL.

   
 
 автор: cheops   (08.09.2005 в 02:39)   письмо автору
 
   для: Эдуард   (08.09.2005 в 02:32)
 

Вот чего не понятно - они выводятся сейчас или нет? Должно выводится именно содержимое или названия файлов? Скрипт вывода в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4792

   
 
 автор: Эдуард   (08.09.2005 в 10:16)   письмо автору
 
   для: cheops   (08.09.2005 в 02:39)
 

Содержимое файлов.

   
 
 автор: Эдуард   (09.09.2005 в 16:52)   письмо автору
 
   для: Эдуард   (08.09.2005 в 10:16)
 

Тепреь я решил написать скрипт на мускуле. Проблема проще:
При нажатии на кнопку навигации то есть << <<|1|2 и т .д. страница остаётся той же. Код скрипта:

<html>
<head>
<TITLE>Каталог ссылок от Дашевского Эдуарда.</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="TEXT/HTML; CHARSET=windows-1251">
<style type="text/css">
<!--
.style1 {font-family: "Comic Sans MS"}
.style2 {font-family: "Times New Roman", Times, serif}
body {
    background-image: url(t.gif);
}
-->
</style>
</head>
<body>
<p align="center"><img src="back.gif" width="300" height="80"></p>
<?php
###############################################################################
###############################################################################
##Скрипт "Каталог v1.0" предназначен для повышения Тиц Вашего сайта.         ##
##Автор скрипта: Дашевский Эдуард.                                           ##
##Скрипт написан: 10 сентября 2005г.                                         ##
##Скрипт принадлежит автору. Запрещается распространять скрипт без           ## 
##авторского согласия. Что бы снять авторские ссылки обращайтесь на          ##
##мэил: edik_dashevskii@mail.ru или свяжитесь со мной по асе: 34-661155-0.   ##
###############################################################################
###############################################################################

// Начало скрипта
include "configuration.php";
@
mysql_connect ($dblocation,$dbuser,$dbpasswd);
@
mysql_query ("USE $dbname");
$page $_GET['page'];
$result mysql_query("SELECT * FROM basa"); 
$posts mysql_num_rows($result);
$total intval(($posts 1) / $ss) + 1;
$page intval($page);
if(empty(
$page) or $page 0
{
$page 1
}
if(
$page $total
{
$page $total;
}
$start $page $ss $ss;
$result mysql_query("SELECT * FROM basa LIMIT 0, $ss");
while ( 
$postrow[] = mysql_fetch_array($result))
?>
<?php
echo "<center><table>"
for(
$i 0$i $ss$i++) 

echo 
"<tr> 
         <td>"
.$postrow[$i]['id']."</td> 
         <td>"
.$postrow[$i]['name']."</td></tr> 
       <tr><td colspan=\"2\">"
.$postrow[$i]['objav']."</td></tr>"

echo 
"</table></center>";
?>
<?php
if ($page != 1
{
$pervpage "<a href= ./index.html?page=1><<</a> 
                               <a href= ./index.html?page="
. ($page 1) ."><</a> ";

if (
$page != $total
{
$nextpage " <a href= ./index.html?page=". ($page 1) .">></a> 
<a href= ./index.html?page="
.$total.">>></a>"
}
if(
$page 0
{
$page2left " <a href= ./index.html?page=". ($page 2) .">". ($page 2) ."</a> | ";

if(
$page 0
{
$page1left "<a href= ./index.html?page=". ($page 1) .">". ($page 1) ."</a> | ";

if(
$page <= $total
{
$page2right " | <a href= ./index.html?page=". ($page 2) .">". ($page 2) ."</a>";

if(
$page <= $total
{
$page1right " | <a href= ./index.html?page=". ($page 1) .">". ($page 1) ."</a>";

echo 
"$pervpage $page2left $page1left <b> $page </b> $page1right $page2right $nextpage";
?>
</body>
</html>

Плиз, помогите кто нибудь.

   
 
 автор: cheops   (09.09.2005 в 18:56)   письмо автору
 
   для: Эдуард   (09.09.2005 в 16:52)
 

Следует заменить строки
<?php
  $start 
$page $ss $ss
  
$result mysql_query("SELECT * FROM basa LIMIT 0, $ss");
?>

на
<?php
  $start 
$page $ss $ss
  
$result mysql_query("SELECT * FROM basa LIMIT $start$ss");
?>

   
 
 автор: Эдуард   (10.09.2005 в 03:55)   письмо автору
 
   для: cheops   (09.09.2005 в 18:56)
 

Огромное Спасибо. Всё прекрасно работает!

   
Rambler's Top100
вверх

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