Jump to content


Photo

Paginação !


  • Faça o login para participar
6 replies to this topic

#1 rober

rober

    Viva o Mato Grosso!!!

  • Usuários
  • 314 posts
  • Sexo:Não informado
  • Localidade:Lucas do Rio Verde

Posted 24/07/2003, 02:05

Olá.. eu gostaria de saber se tem como fazer a apginação de resultado em um code sem acesso a BD. tipow.... na função opendir..eu listei os arquivos do diretorio...tem como fazer a paginação deles ?

<head>

<script LANGUAGE="JavaScript">
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=300,left = 299.5,top = 221.5');");
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title><?php echo $titulo_site ; ?></title></head><?php
include("../config.php") ; ?>
<?php
if(isset($id))
{ // abre isset
mysql_connect ($servidor,$user,$senha_db) or die ("<b><font color='red' size='2' face='verdana'>Não foi Possivel fazer a conexão<font></b>"); 
mysql_select_db ($bd) or die ("<b><font color='red' size='2' face='verdana'>Banco de Dados Inexistente</font> </b>");
$sql=mysql_query("SELECT * FROM web_fotos  WHERE id='$id'");

while ($fetch=mysql_fetch_row($sql))
{
$local_dir="c:/apache/htdocs" ; ///u/local/etc/httpd/htdocs/webpoint/weblucas
$lcl= "$fetch[1]";

?>

<?
//Exibe os diretórios que tem na pasta
if ($dir=opendir("$local_dir$lcl"))  { //Diretório a ser vasculhado
  $i=1; //faz a soma do diretotio
$sub = 0 ; // acresenta var pra função max
$total= max($i,$sub); //  total de arquivos //

?>
 

<body bgcolor="#3366FF">
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="101" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="">
  <!--DWLayoutTable-->
  <?
  while(($arquivos=readdir($dir)) !== false){
    if($arquivos=="."or $arquivos==".." ) continue; {
  ?>
  <tr bgcolor="#FFFFFF">
    <td height="77" valign="top" bordercolor="" bgcolor=""><font face="Arial" size="2"><a href="java script:popUp('http://<?php echo $HTTP_SERVER_VARS['HTTP_HOST']  ; ?><?php echo $fetch[1] ?><?php echo"$arquivos"?>')"><img src="http://<?php echo $HTTP_SERVER_VARS['HTTP_HOST']  ; ?><?php echo $fetch[1] ?><? echo $arquivos; ?>" width="100" height="75" border="0"></a></font></td>
    <?php echo " </table> " ?> </tr>
  <?
  $i++; //Incrementa a variável i
  }//fecha if
} //fecha while ?>
</table>
<?
}/*fecha if*/?>
<?php
}
}
//fecha while//


?>


tah ai o script
ddfsd fsdg gf df gfdg gdfgds ge gdf gd g

#2 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 24/07/2003, 11:01

Bom, nem li seu script...

pro que vc quer, talvez seja melhor usar a função readdir...
ha tb mais outras funcoes, no mesmo velho site, pra auxiliar na tarefa... contar os arquivos do diretório e dividir num array... listar x dados do array em cada pagina, etc...

http://br.php.net/ma...ion.readdir.php

O caminho é esse... se alguem quiser fazer o script pra vc vai ser ótimo, e não deve ser dificil... mas até essa boa alma aparecer no forum, vc pode ir tentando...

abraços,

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#3 rober

rober

    Viva o Mato Grosso!!!

  • Usuários
  • 314 posts
  • Sexo:Não informado
  • Localidade:Lucas do Rio Verde

Posted 24/07/2003, 14:38

qual seria o typow de array a sewr usado......já consegui fazer ele mi dar a soma dos tatal de arquivos........ vlw
ddfsd fsdg gf df gfdg gdfgds ge gdf gd g

#4 rober

rober

    Viva o Mato Grosso!!!

  • Usuários
  • 314 posts
  • Sexo:Não informado
  • Localidade:Lucas do Rio Verde

Posted 25/07/2003, 09:34

Galera dah uma força ai..... to tentando....mas não to conseguindo....ajuda ai
ddfsd fsdg gf df gfdg gdfgds ge gdf gd g

#5 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 25/07/2003, 09:50

Galera dah uma força ai..... to tentando....mas não to conseguindo....ajuda ai

rapaz... tah documentado na pagina que eu passei!!!!

de qqer forma, se vc conseguiu a soma, divide pelo numero de arquivos que vc quer exibir por pagina... vai dar o numero de paginas...

faz um while ou for pra apresentar esse x numero de arquivos...

na pagina 2, começa do x+1 r vai até x+x

na pagina 3 começa no 2x+1 e vai até 2x+x... e assim por diante...


vc vai conseguir!

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#6 rober

rober

    Viva o Mato Grosso!!!

  • Usuários
  • 314 posts
  • Sexo:Não informado
  • Localidade:Lucas do Rio Verde

Posted 25/07/2003, 13:44

<head>

<script LANGUAGE="JavaScript">
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=300,left = 299.5,top = 221.5');");
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title><?php echo $titulo_site; ?></title></head><?php
include("../config.php"); ?>
<?php 
if(isset($id)) 
{ // abre isset
mysql_connect ($servidor,$user,$senha_db) or die ("<b><font color='red' size='2' face='verdana'>Não foi Possivel fazer a conexão<font></b>");  
mysql_select_db ($bd) or die ("<b><font color='red' size='2' face='verdana'>Banco de Dados Inexistente</font> </b>");
$sql=mysql_query("SELECT * FROM web_fotos  WHERE id='$id'");

while ($fetch=mysql_fetch_row($sql))
{
$local_dir="c:/apache/htdocs"; ///u/local/etc/httpd/htdocs/webpoint/weblucas
$lcl= "$fetch[1]";

?>

<?
//Exibe os diretórios que tem na pasta 
 if ($dir=opendir("$local_dir$lcl"))  { //Diretório a ser vasculhado
  $i=1; //faz a soma do diretotio
$sub = 0; // acresenta var pra função max
$total= max($i,$sub); //  total de arquivos //

?>
  

<body bgcolor="#3366FF">
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="101" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="">
  <!--DWLayoutTable-->
  <?
  $x=$total/10;
  for ($x=0; $x<5;$x++){//abre for //
  while(($arquivos=readdir($dir)) !== false){
    if($arquivos=="."or $arquivos==".." ) continue; {
  ?>
  <tr bgcolor="#FFFFFF"> 
    <td height="77" valign="top" bordercolor="" bgcolor=""><font face="Arial" size="2"><a href="javascript:popUp('http://<?php echo $HTTP_SERVER_VARS['HTTP_HOST'] ; ?>/upload/pop_up.php?id=<?php echo $id?>&arquivos=<?php echo $arquivos ?>')"><img src="http://<?php echo $HTTP_SERVER_VARS['HTTP_HOST'] ; ?><?php echo $fetch[1] ?><? echo $arquivos; ?>" width="100" height="75" border="0"></a></font></td>
    <?php echo " </table> " ?> </tr>
  <?
   $i++; //Incrementa a variável i
  }//fecha if
 } //fecha while ?>
</table>
<? 
}/*fecha if*/?>
<?php 
}
}
//fecha while//
}//fecha for



echo $x;?>
o code fiko assim....só muito iniciante e naum intendu direitu de array , for e while..... tentei fazer colocanu o for....mas naum deu im nada
ddfsd fsdg gf df gfdg gdfgds ge gdf gd g

#7 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 26/07/2003, 21:26

Bom cara..

Já te mandei o script pronto já pra ti pelo ICQ.. Só que tinha alguns errinhos.. Vou arrumar eles aqui, já aproveitando para postar o script aos outros users que querem algo do tipo mas tb naum conseguem fazer, lá vai:

<?php

if ($handle = opendir('../testes_php')) {
    echo "Manipulador de diretório.<BR>Arquivos:<BR><BR>";

    if(empty($l)) {
        $l = "0";
    }
    $r = "10";
    if(isset($pagina)) {
        $r *= $pagina;
        $l = $r - 10;
    }
   
    $n = "1";
   
    for($x=0;$x<$r;$x++) {
        if(false !== ($file = readdir($handle))) {
            if($x >= $l) {
                if(($file == "..") || ($file == ".")) {
                    $n = "1";
                } else {
                    echo "$n - $file\n<BR>";
                }
            }
        }
    $n++;
    }
    if(empty($pagina) || ($pagina == "1")) {
        print "<BR><< anterior&nbsp;&nbsp;";
        $proximo = 2;
        print "<a href=\"$PHP_SELF?pagina=$proximo\">proximo >></a>";
    } else {
        $anterior = $pagina - 1;
        print "<BR><a href=\"$PHP_SELF?pagina=$anterior\"><< anterior</a>&nbsp;&nbsp;";
        $proximo = $pagina + 1;
        print "<a href=\"$PHP_SELF?pagina=$proximo\">proximo >></a>";
    }
}
?>

Bom, antes os resultados estavam começando do 3, agora já arrumei isso..

Mas ainda tem um erro, que com certeza é o pior.. Mesmo tendo acabado os arquivos do diretório, o script ainda gera uma próxima página, que naum existe..

Mas é simples pra corrigir isso, tipo: é só saber o número total de arquivos que tem dentro do diretório citado, aí, se o $x ou o $n for igual ou maior que o número de arquivos, coloca pra naum exibir o link..

Supondo que o número total de arquivos fique armazenado na variável $totalfiles, ficaria assim:

...
    if(empty($pagina) || ($pagina == "1")) {
        print "<BR><< anterior&nbsp;&nbsp;";
        $proximo = 2;
        print "<a href=\"$PHP_SELF?pagina=$proximo\">proximo >></a>";
    } else {
        $anterior = $pagina - 1;
        print "<BR><a href=\"$PHP_SELF?pagina=$anterior\"><< anterior</a>&nbsp;&nbsp;";
        if($x >= $totalfiles) {
            print "proximo >>";
        } else {
        $proximo = $pagina + 1;
        print "<a href=\"$PHP_SELF?pagina=$proximo\">proximo >></a>";
        }
    }
...

E pronto.. Teoricamente tá resolvido esse problema tb.. É só descobrir como saber o total de arquivos do diretório, armazenar o valor na variável $totalfiles e tá pronto.. ;)

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq