Web-мастер: курс молодого бойца

Постраничный вывод из файла

 Страницы: 1 | 2
 

 Добавлено 2011-02-16 01:23:21


Цитировать
<?php 
 
$file 
'gb.csv';
$f file($file);
 
$kol count($f);
 
if (
$kol >0){
$pg "$_SERVER[PHP_SELF]"
$n "10"
$p = empty($_REQUEST['p']) ? '1' intval($_REQUEST['p']); 
$str ceil($kol $n); 
if(
$p<1){$p=1;}
if(
$p>$str){$p=$str;}  
if (
$p==1){$nn=0;}  
else {
$nn=($p-1)*$n;} 
$start "$nn"
$end = ($nn +$n); 
if(
$p==$str){$end=$kol;} 
echo(
"<table>");
for(
$i=$start $i<$end $i++)
{
$line "$f[$i]";    
$elem explode(";",$line); 

echo(
"<tr> 
<td align=center valign=top colspan=2><b>Имя :</b> 
$elem[1] ( <b>$elem[2]</b> )</td> 

</tr> 
<tr> 

<td align=center valign=top width=50%><b>E-mail :</b> <a href=mailto:
$elem[3] target=_blank>$elem[3]</a></td> 
<td align=center valign=top width=50%><b>Сайт :</b> <a href=
$elem[4] target=_blank>$elem[4]</a></td> 
</tr> 
<tr> 
<td valign=top colspan=2><div style=margin-left:20px; ><b>Вопрос </b>№ (
$elem[0]$elem[5]</div></td> 

</tr> 
<tr> 
<td align=right valign=top colspan=2><small>Написано : 
$elem[6]</small></td> 

</tr> 
<tr> 
<td bgcolor=#E0F1F7 valign=top colspan=2 ><div style=margin-left:20px;><b><font color=red>
$elem[7]</font></b></div></td> 
</tr> 
<tr> 
<td valign=top colspan=2 >&nbsp;</td> 
</tr>"
);     

}
else {echo 
"Пока пусто<hr/>";}

echo 
"</table>";

if(
$str>1
{
echo 
'<hr/>'
if(
$p==1) {$left '';}  
else {
$left '<a href="'.$pg.'?p='.($p-1).'">пред</a>';} 
 
if (
$p==$str) {$right '';}  
else {
$right '<a href="'.$pg.'?p='.($p+1).'">след</a>';} 
echo 
"<br/> $left | $right <br/>"
echo 
"<hr/><b>Страница $p из $str</b><hr/>";   

else {echo 
"<hr/>все на одной";}
 
?>
попробуй так
Наверх Незарегистрированный пользователь  

 Добавлено 2011-02-19 15:15:48



Сообщений: 5
Зарегистрирован: 04.02.2011

Цитировать
 // подключаем ф-ю
function navigator( $title, $title_links, $id, $quantity_show, $total, $get )
{
    if( $id=='' )
    {
        $id='1';
    }
    if( $quantity_show < '1' )
    {
        $quantity_show = '1';
    }
    $line  = $title;
    $pages = ceil( $total / $quantity_show );

    for( $i = 1; $i <= $pages; $i++ )
    {
        if( $pages > $pages - $id and $id <= $pages )
        {
            $e = ( $i * $quantity_show ) - $quantity_show;
            $e = $e / $quantity_show;

            if( $i == '0' )
            {
                $e++;
            }

            if( $quantity_show == '1' and $i != '1' )
            {
                $e++;
            }

            if( $id == $i  )
            {
                $second = $quantity_show * $id;
                $first  = $second - $quantity_show;

                if($second > $total)
                {
                    $second = $total;
                }

                if($second < '0')
                {
                    $second = '0';
                }

                $e = $e + 1;

                $line.= ' <a href="?'.$get.'='.$i.'" title="'.$title_links.' '.$i.'">'.$e.'</a> |';
            }

            if( $id < $i and $id < $i and $id != $i)
            {
                $e = $e + 1;
                $line .= ' <a href="?'.$get.'='.$i.'" title="'.$title_links.' '.$i.'">'.$e.'</a> |';

            }

            if( $id > $i and $id > $i and $id != $i)
            {
                $e = $e + 1;
                $line .= ' <a href="?'.$get.'='.$i.'" title="'.$title_links.' '.$i.'">'.$e.'</a> |';

            }

        }
    }

    if( strlen( $line ) > '11' )
    {
        return array( $line, $first, $second );
    }
    return FALSE;
}
# если есть данные в командной строке, то выводим их
if ( isset( $_GET ) )
  {
    foreach ( $_GET as $key => $value )
    {
        $$key=$value;
    }
   }

# считываем базу в массив строк, в нашем случае база называется 'txt/csv' и данные в ней должны иметь разделение \n
$file =  file('engine/guest.csv');
# считаем сколько всего строк в базе
$total = count($file);
$count = count($file);
# применим функцию (по три записи на вывод)
$line_arr = navigator('Страниц :','', $page, 3, $total, 'page');
# в итоге получается $line - линия навигации
$line   = $line_arr[0];
# какой первый $file выводить, именно на этой страничке
$first  = $line_arr[1];
# какой последний $file выводить, именно на этой страничке
$second = $line_arr[2];

# еще раз печатаем линию навигации, но уже вверху
for ( $i = $total - $first - 1; $i >= $total - $second; $i--)

  {
    $elem = explode (';', $file[$i]);
    echo("    <table border=1 bordercolor=#E5E5E5 align=center cellpadding=0 cellspacing=0 width=100% ><tr>
        <td align=center valign=top colspan=2><b>Имя :</b> $elem[1] ( <b>$elem[2]</b> )</td>

    </tr>
    <tr>

        <td align=center valign=top width=50%><b>E-mail :</b> <a href=mailto:$elem[3] target=_blank>$elem[3]</a></td>
        <td align=center valign=top width=50%><b>Сайт :</b> <a href=$elem[4] target=_blank>$elem[4]</a></td>
    </tr>
    <tr>
        <td valign=top colspan=2><div style=margin-left:20px; ><b>Вопрос :</b> $elem[5]</div></td>

    </tr>
    <tr>
        <td align=right valign=top colspan=2><small>Сообщение № $elem[0] написано $elem[6]</small></td>

    </tr>
    <tr>
        <td bgcolor=#E0F1F7 valign=top colspan=2 ><div style=margin-left:20px;><b>$elem[7]</b><font color=red>$elem[8]</font></div></td>
            </tr>
                <tr>
        <td valign=top colspan=2 >&nbsp;</td>
            </tr></table>");

    }

  if($line != '')
   {
    echo "$line";
     }

     echo "<br>Всего ссообщений : $count<br>";
Наверх  Посмотреть профиль    

 Добавлено 2011-02-19 15:17:13



Сообщений: 5
Зарегистрирован: 04.02.2011

Цитировать
Вот сделал так как показано в примере в адмике работает ана сайте нет хоть убейся помогитеееееееее
всмысле в браузере переключается ?page=1или2 а на самом деле нет помогите пожалуйста что выше
Наверх  Посмотреть профиль    
 Страницы: 1 | 2
 
Быстрый ответ
 
Цвет шрифта: Закрыть все теги
Сообщение
Защитный код