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

Форум PHP

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

 

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

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

тема: Помогите найти ошибку в постраничной навигации
 
 автор: Panker   (10.03.2006 в 18:45)   письмо автору
 
 

Вот код пострничной навигации но он почемуто тока на страници http://www.custom/index.php?page=1 выводит правельно а на первой просто на индексе выводит пустоту! :(
Вот код

<? 
# ?????? ?????? ????????? # 
$base1=@file("bigrash.php"); 
$count1=count($base1)-1
$per_page 10;
$pag_col ceil($count1/$per_page);
for (
$ii=($_GET['page']-1)*$per_page$ii<=(($_GET['page']*$per_page<$count1) ? $_GET['page']*$per_page-1$count1-1);$ii++)
     { 
     list(
$comments2,$name2,$mail2,$data2)=explode("||",$base1[$ii]); 
     
$total2=$ii+1
     echo
"<table border=\"0\" width=\"498\" cellspacing=\"0\" cellpadding=\"2\" class=\"commBodyTable\" height=\"42\"> 
   <tr> 
      <td class=\"commNameTd width=34 style='border-left-width:1px; border-right-style:dotted; border-right-width:1px; border-top-width:1px; border-bottom-width:1px'\"> 
          
$total2 
      </td> 
      <td class=\"commNameTd\" width=\"207\"> 
         <b><u><font color=\"#4D6D91\">Говорит</font></u> <a href=\"mailto:
$mail2\">$name2</a></b> 
      </td> 
      <td class=commDateTd align=\"right\" nowrap height=\"23\" width=\"236\"> 
         
$data2 
      </td> 
   </tr> 
   <tr> 
      <td class=\"commCommentTd\" height=\"19\" colspan=\"3\"> 
      <font size =\"2\">
$comments2</font> 
      </td> 
   </tr> 
</table><br>"

     }
     if (!isset(
$_GET['page']) || $_GET['page'] == 1){
$nn 1;
}
elseif (isset(
$_GET['page']) && $_GET['page'] > 1){
$nn $_GET['page']-1;
}

if (!isset(
$_GET['page'])){
$pp 2;
}

elseif(isset(
$_GET['page'])){
$pp $_GET['page']+1;
if (
$pp $pag_col){
$pp $pag_col;
}
}
echo 
"<br><center>Страниц :".$pag_col."<br></center>";
echo 
"<table align=\"center\"><tr>";
if (
$pag_col 1){
 echo

       <td align=\"right\" valign=\"center\"><a href=\"index.php?page=1\"><<</a>&nbsp;&nbsp;
<a href=\"index.php?page="
.$nn."\"><</a>&nbsp;&nbsp;</td>";
}
       echo 
"<td align=\"center\" valign=\"top\" align=\"center\">";
for (
$p 0;$p $pag_col;$p++){
if ((
$p 20) == 0) {
echo 
"<br>";
}
$n $p+1;
echo 
"<a href=\"index.php?page=".$n."\">[".$n."]</a>&nbsp;&nbsp;";
}
echo 
"</td>";
if (
$pag_col 1){
      echo
"<td align=\"left\" valign=\"center\"><a href=\"index.php?page=".$pp."\">></a>
&nbsp;&nbsp;<a href=\"index.php?page="
.$pag_col."\">>></a></td>";
}
echo 
"</tr>
       </table>"
;
echo 
"</center>";
   
      
?>

   
 
 автор: Drago   (10.03.2006 в 19:18)   письмо автору
 
   для: Panker   (10.03.2006 в 18:45)
 

.

   
 
 автор: Panker   (10.03.2006 в 19:24)   письмо автору
 
   для: Drago   (10.03.2006 в 19:18)
 

типа up )))))))

   
 
 автор: Drago   (10.03.2006 в 19:31)   письмо автору
 
   для: Panker   (10.03.2006 в 19:24)
 

Что-то ты тут с условиями перемудрил, я даже на свою не трезвую голову разобраться не могу.
У тебя во всех 4 условиях, проверяется на несуществование перенная $_GET['page'].

   
 
 автор: Panker   (10.03.2006 в 19:36)   письмо автору
 
   для: Drago   (10.03.2006 в 19:31)
 

Если бы я это писал я бы разобрался! у меян с навигацией очень плхо! я почти ваще непонимаю что тут написанО! потому и сюда пришел :)

   
 
 автор: Уфимец   (10.03.2006 в 19:37)   письмо автору
 
   для: Drago   (10.03.2006 в 19:31)
 

думаю вот это будет не лишним!
// Извлекаем из URL текущую страницу
$page = $_GET['page'];

   
 
 автор: Drago   (10.03.2006 в 19:39)   письмо автору
 
   для: Уфимец   (10.03.2006 в 19:37)
 

И куда это нужно вставить?

   
 
 автор: Panker   (10.03.2006 в 19:45)   письмо автору
 
   для: Drago   (10.03.2006 в 19:39)
 

Это почти полный код который встоит в index это типа вывод сообщенйи + постраничная разбивка + навигация :)

   
 
 автор: Drago   (10.03.2006 в 19:55)   письмо автору
 
   для: Panker   (10.03.2006 в 19:45)
 

Вот, на скорую руку переделал свой скрипт. Далеко не идеал, но вроде работает.

<?php
$base1
=@file("bigrash.php");
$num=2;
$num1=$num;
function 
get_page($page)
{
    global 
$base1,$num,$num1;
    foreach(
$base1 as $k => $value)
    {
      if (
$k<$num*$page)
      {
        if (
$k>=$num*$page-$num1)
        {
        list(
$comments2,$name2,$mail2,$data2)=explode("||",$value);
     echo
"<table border=\"0\" width=\"498\" cellspacing=\"0\" cellpadding=\"2\" class=\"commBodyTable\" height=\"42\">
   <tr>
      <td class=\"commNameTd width=34 style='border-left-width:1px; border-right-style:dotted; border-right-width:1px; border-top-width:1px; border-bottom-width:1px'\">
          "
.($k 1)."
      </td>
      <td class=\"commNameTd\" width=\"207\">
         <b><u><font color=\"#4D6D91\">&#195;&#238;&#226;&#238;&#240;&#232;&#242;</font></u> <a href=\"mailto:
$mail2\">$name2</a></b>
      </td>
      <td class=commDateTd align=\"right\" nowrap height=\"23\" width=\"236\">
         
$data2
      </td>
   </tr>
   <tr>
      <td class=\"commCommentTd\" height=\"19\" colspan=\"3\">
      <font size =\"2\">
$comments2</font>
      </td>
   </tr>
</table><br>"
;
        }
      }
    }
}
if (empty(
$page))
{
    
get_page(1);
}
else
{
    
get_page($page);
}
if (
gettype(count($base1)/$num)=="integer")
{
    
$div=intval(count($base1)/$num);
}
else
{
    
$div=intval(count($base1)/$num)+1;
}
for (
$i=0;$i<$div;$i++)
{
    echo 
"[<a href=index.php?page=".($i+1).">".($i+1)."</a>]";
}

?>

   
 
 автор: Panker   (10.03.2006 в 20:03)   письмо автору
 
   для: Drago   (10.03.2006 в 19:55)
 

спасибо

   
Rambler's Top100
вверх

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