Lister vignette, gestion de page, comment s'y prendre ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lister vignette, gestion de page, comment s'y prendre ?

par Invité » 20 août 2008, 10:23

Bonjour,

j'ai essayé sans la $NavBar dans la fonction et la j'ai bien les 5 vignettes qui s'affichent.
Si je comprend bien le fait de retourner les deux variables font que je demande de retourner un tableau dans un tableau ?

Merci.

par Invité » 19 août 2008, 17:50

Bonsoir,

J'ai regardé quelque exemples de script et je me suis lancé, je crois que je suis pas loin d'arriver à ce que je veux mais pour le moment je n'arrive pas à retourner les informations de ma fonction correctement. Voici ma fonction :
	
<?php

function vignettes($dir, $VMax, $page){
		
		if (isset($debut) AND $debut == ''){$debut = 0;}
		if (isset($debut) AND $debut == ''){$debut = 0;}
		
		$debut = $page*$VMax; 
		
		$vignette = array();
	 
		$dossier = opendir($dir);
		$nbV=0;
		
		while ($Fichier = readdir($dossier)) { // liste le nombre de vignette avec limitation
			if ($Fichier != '.' && $Fichier != '..') {
					if($nbV+1 <= $VMax){  
						$vignette[] = $dir.$Fichier;
					}
					$nbV++;
				}
		}
		
		closedir($dossier);
		
		// Precedent
		if($page > 0){
			$precedent = $page-1;
			$pre = '<a href=#?page='.$precedent.'">PRECEDENT</a>';
		}else{
			$pre ='';
		}
		
		$i = 0;
		$j = 1;

		// Milieu
		if($nbV > $VMax){
		
			while($i < ($nbV/$VMax)){
				if($i != $page){
					$mil = '<a href="#?page='.$i.'">'.$j.'</a>';
				}else{
					$mil = '<b>'.$j.'</b>';
				}
				
				$i++;
				$j++;
			}
		}

		// Suivant
		if($debut+$VMax < $nbV) {
			$suivant = $page+1;
			$sui = '<a href="#?page='.$suivant.'">SUIVANT</a>';
		}else{
			$sui = '';
		}
		
		$NavBar = $pre.'|'.$mil.'|'.$sui; // Barre de navigation

		return array($vignette, $NavBar);

	}
?>
Je l'apelle comme ceci :
<?php

if(isset($_GET['page'])){$page = $_GET['page'];}else{$page = '';} // recupération du numéro de page si présent

	$dir = 'images/lieux/small'; // Dossier des vignettes à lister
	$VMax = 5; // Nombre max de vignettes avant changement de page

	$vignette = vignettes($dir,$VMax,$page); // Appel fonction vignettes();
	
	foreach($vignette as $n){
		echo $n[0].'<br />'; // Affichage de la vignette
	}
	
	echo $n[1];
?>
Pour le moment cela me retourne : images/lieux/smallsmall_h_1.jpg<br />|

Donc pas les 5 vignettes comme prévu et la barre de navigation.
Je bloque un peu à cette étape, pouvez vous m'aider à résoudre mon problème ou m'orienter afin que je comprenne mieux ce que je fais et ou je ne fais pas ce qu'il faut ?

D'avance merci.

par @rthur » 18 août 2008, 11:46

Bonjour,

Quelques tutoriels sur la question:
http://www.phpfrance.com/forums/voir_re ... .php#62808
http://antoine-herault.developpez.com/t ... ue-en-php/
http://phpdebutant.org/article84.php

Ces tutoriels utilisent une base MySQL mais si tu as compris le principe, c'est la même chose avec les fichiers d'un répertoire :-)

Lister vignette, gestion de page, comment s'y prendre ?

par Invité » 18 août 2008, 11:36

Bonjour,

Je sais pas comment m'y prendre pour lister des vignettes avec gestion de page. Je m'explique, j'ai un dossier avec des images + vignettes associées, ex: image1.jpg/small_image1.jpg

dans ce dossier il y'a un certains nombre de couple. Je voudrais afficher mes images vignettes avec (selon une variable) la possibilité de pouvoir restreindre le nombre de vignette affichés en même temps, ex: je veux afficher que les 5 premières

En dessous des vignettes affichées je voudrais faire un lien genre ==> pour indiquer au visiteur que d'autre vignette sont disponible. Ce qui aurait pour effet de changer le contenu de ma page par les vignettes suivantes. (et inversement). en fait j'y pense mais c'est un rechargement de la page (ajax?) avec les vignettes suivantes.

La ou je bloque c'est sur comment construire ma page avec la notion de multi vignette et surtout des liens avec passage aux vignettes suivantes ?

J'espère que je me suis bien exprimé.
Merci d'avance.