par
sasg » 19 mai 2006, 12:51
si le code est deja fait pour la barre de menu mais je n'arrive pas a passer aux image de la 2eme page!
Quand je clicque sur la page 2 je n'arrive pas a recuperer (et a faire la fonction) les photos qui doivent s'afficher
<?php
//affiche le menu appart
function menu_appart ()
{
$rep = "./appart";
$dir = opendir($rep);
echo '<br/>';
while ($dossier = readdir($dir))
{
if ($dossier !="." && $dossier != "..")
{
if(is_dir($rep."/".$dossier))
{
echo '<a href="par_page2.php?dir='.$dossier.'&page=0">'.$dossier.'</a>';
echo ' <br/>';
}
}
}
closedir($dir);
};
?>
<?php
/*Creation de la galerie
$rep = dossier des photos
$vig = dossier des vignettes
$ext = extension
$ipp = nombre d'image par page
$wid = largeur des photos
$bor = bordure (1=oui, 0=non)
*/
function galerie($rep,$vig,$ext,$ipl,$ipp,$wid,$bor)
{
if(!$rep)
{
$rep='.';
}
echo 'repertoire : '.$rep;
if(!$vig)
{
$vig='.';
}
echo '<br>vig : '.$vig;
if(!$wid)
{
$wid='100%';
}
echo '<br/>nomre par ligne : '.$ipl;
echo '<br/>nombre par page : '.$ipp;
echo '<center>';
echo '<table bgcolor="#000000" border='.$bor.'><tr>';
$compt=0;
$dp = opendir($vig);
while($photo = readdir($dp))
{
if(is_file("$vig/$photo") && (strtolower(extension($photo)) == $ext))
{
if($compt != $ipp)
{
if($compt%$ipl == 0)
{
echo '</tr><tr>';
}
echo "<td>\n";
echo '<a href="javascript:openimg(\''.$rep.'/'.$photo.'\')">';
echo '<img border=0 width='.$wid.' src="'.$vig.'/'.$photo.'"></a><br></td>';
$compt++;
}
}
}
echo '</tr></table>';
echo 'nombre de photos : '.$compt;
/* Paramètres de pagination */
$nb_photo_par_page = $ipp; /* Nombre de photos qui seront affichées sur chaque page */
$url = './par_page2.php?dir='.$_GET[dir].'&page=';
/* On détermine quelle est la page qui est actuellement affichée */
$page_en_cours = isset($_GET['page']) ? $_GET['page'] : 0;
$page_affichee = ($page_en_cours + 1);
echo '<center>';
echo '<table bgcolor="#000000" border='.$bor.'><tr>';
/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */
$photo_total=0;
$dp = opendir($vig);
while($photo = readdir($dp))
{
if(is_file("$vig/$photo") && (strtolower(extension($photo)) == $ext))
{
$photo_total++;
}
}
$nb_pages = ceil($photo_total / $nb_photo_par_page);
echo 'nombre de photos : '.$photo_total .'<br/>';
/**
Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation.
Première chose à vérifier : avons-nous plusieurs pages, et au moins une ?
*/
if($nb_pages > 0)
{
/* On définit une variable qui contiendra les données de navigation */
$barre_nav = "";
/* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */
if($nb_pages > 1)
{
/**
Nous avons plusieurs pages: nous allons afficher successivement les liens vers
les pages précédentes s'il y en a, la page en cours et les liens vers les pages
suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables
sauf pour la page en cours dont nous mettrons le chiffre en gras
*/
if($page_en_cours > 0)
{
for($i = 0; $i < $page_en_cours; $i++)
{
$p = $i + 1;
$barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | ";
}
}
/**
On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une
page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente
*/
$barre_nav .= "<strong>". $page_affichee ."</strong>";
/* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */
if(($page_affichee) < $nb_pages)
{
/* Il reste encore d'autres pages à afficher */
$nb_suivantes = $nb_pages - ($page_affichee);
for($j = ($page_affichee); $j < $nb_pages; $j++)
{
$p = $j + 1;
$barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>";
}
}
/* On peut définir en plus la situation dans une autre variable à afficher ailleurs */
$page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";
}
else
{
/* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */
$barre_nav .= "1";
}
/**
On peut maintenant afficher notre page. On va commencer par récupérer les informations
On doit définir à partir de quelle nouvelle on doit récupérer les données dans la clause LIMIT.
*/
echo($barre_nav);}
echo '</center>';
};
//Donne l'extension d'un fichier
function extension($fichier)
{
ereg("\.([^\.]*$)", $fichier, $exte);
return $exte[1];
};
?>
<?php
menu_appart();
galerie('appart/'.$_GET['dir'], 'appart/'.$_GET['dir'].'/vig','jpg',4,8,100,0);
?>
j'espere que j'ai ete assez clair
http://chezmm.free.fr/version3/par_page ... ine&page=0
si le code est deja fait pour la barre de menu mais je n'arrive pas a passer aux image de la 2eme page!
Quand je clicque sur la page 2 je n'arrive pas a recuperer (et a faire la fonction) les photos qui doivent s'afficher
[php]
<?php
//affiche le menu appart
function menu_appart ()
{
$rep = "./appart";
$dir = opendir($rep);
echo '<br/>';
while ($dossier = readdir($dir))
{
if ($dossier !="." && $dossier != "..")
{
if(is_dir($rep."/".$dossier))
{
echo '<a href="par_page2.php?dir='.$dossier.'&page=0">'.$dossier.'</a>';
echo ' <br/>';
}
}
}
closedir($dir);
};
?>
<?php
/*Creation de la galerie
$rep = dossier des photos
$vig = dossier des vignettes
$ext = extension
$ipp = nombre d'image par page
$wid = largeur des photos
$bor = bordure (1=oui, 0=non)
*/
function galerie($rep,$vig,$ext,$ipl,$ipp,$wid,$bor)
{
if(!$rep)
{
$rep='.';
}
echo 'repertoire : '.$rep;
if(!$vig)
{
$vig='.';
}
echo '<br>vig : '.$vig;
if(!$wid)
{
$wid='100%';
}
echo '<br/>nomre par ligne : '.$ipl;
echo '<br/>nombre par page : '.$ipp;
echo '<center>';
echo '<table bgcolor="#000000" border='.$bor.'><tr>';
$compt=0;
$dp = opendir($vig);
while($photo = readdir($dp))
{
if(is_file("$vig/$photo") && (strtolower(extension($photo)) == $ext))
{
if($compt != $ipp)
{
if($compt%$ipl == 0)
{
echo '</tr><tr>';
}
echo "<td>\n";
echo '<a href="javascript:openimg(\''.$rep.'/'.$photo.'\')">';
echo '<img border=0 width='.$wid.' src="'.$vig.'/'.$photo.'"></a><br></td>';
$compt++;
}
}
}
echo '</tr></table>';
echo 'nombre de photos : '.$compt;
/* Paramètres de pagination */
$nb_photo_par_page = $ipp; /* Nombre de photos qui seront affichées sur chaque page */
$url = './par_page2.php?dir='.$_GET[dir].'&page=';
/* On détermine quelle est la page qui est actuellement affichée */
$page_en_cours = isset($_GET['page']) ? $_GET['page'] : 0;
$page_affichee = ($page_en_cours + 1);
echo '<center>';
echo '<table bgcolor="#000000" border='.$bor.'><tr>';
/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */
$photo_total=0;
$dp = opendir($vig);
while($photo = readdir($dp))
{
if(is_file("$vig/$photo") && (strtolower(extension($photo)) == $ext))
{
$photo_total++;
}
}
$nb_pages = ceil($photo_total / $nb_photo_par_page);
echo 'nombre de photos : '.$photo_total .'<br/>';
/**
Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation.
Première chose à vérifier : avons-nous plusieurs pages, et au moins une ?
*/
if($nb_pages > 0)
{
/* On définit une variable qui contiendra les données de navigation */
$barre_nav = "";
/* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */
if($nb_pages > 1)
{
/**
Nous avons plusieurs pages: nous allons afficher successivement les liens vers
les pages précédentes s'il y en a, la page en cours et les liens vers les pages
suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables
sauf pour la page en cours dont nous mettrons le chiffre en gras
*/
if($page_en_cours > 0)
{
for($i = 0; $i < $page_en_cours; $i++)
{
$p = $i + 1;
$barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | ";
}
}
/**
On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une
page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente
*/
$barre_nav .= "<strong>". $page_affichee ."</strong>";
/* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */
if(($page_affichee) < $nb_pages)
{
/* Il reste encore d'autres pages à afficher */
$nb_suivantes = $nb_pages - ($page_affichee);
for($j = ($page_affichee); $j < $nb_pages; $j++)
{
$p = $j + 1;
$barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>";
}
}
/* On peut définir en plus la situation dans une autre variable à afficher ailleurs */
$page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";
}
else
{
/* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */
$barre_nav .= "1";
}
/**
On peut maintenant afficher notre page. On va commencer par récupérer les informations
On doit définir à partir de quelle nouvelle on doit récupérer les données dans la clause LIMIT.
*/
echo($barre_nav);}
echo '</center>';
};
//Donne l'extension d'un fichier
function extension($fichier)
{
ereg("\.([^\.]*$)", $fichier, $exte);
return $exte[1];
};
?>
<?php
menu_appart();
galerie('appart/'.$_GET['dir'], 'appart/'.$_GET['dir'].'/vig','jpg',4,8,100,0);
?>
[/php]
j'espere que j'ai ete assez clair :?
[url]http://chezmm.free.fr/version3/par_page2.php?dir=cuisine&page=0[/url]