Pages :
bonsoir...

Pose les bonnes questions et on pourra peut être te répondre...

comment tu crée les liens ?? comment son nommées les pages ?? etc etc etc
Salut,

pchlj a écrit :
comment tu crée les liens ?? comment son nommées les pages ?? etc etc etc
+1

Un exemple :
<?php
for($i=1; $i<11; $i++) {
	printf('<p>Page : page%02d.html</p>', $i);
}
?>
pour les nom des pages je vous ai déjà donné un exemple; page01.html

les liens sont les n° des pages, on les trouve dans les forums

par exemple:

page 1 2 3 4 5 6 ... 120 ( <= tous ces n° sont des liens cliquables )

merci pour l'aide
Modifié par rockrider (17 Jul 2010 - 13:14)
re...

Merci Heyoan Smiley lol lol

bien sur +1 !!

mais +1 à partir de quoi ???

il as dans la racine page01 page02 page03 ... ou alors y a un js ou du php ??

enfin bref ça vient d'où ????

et donc comme dis tony... comment il veut faire ça le monsieur ??? en dur ? en dynamique ? dans quel langage ??

voilà ce que je voulais dire en fait Smiley cligne
moi je me sers du php
c'est un peu compliquer pour moi de répondre à vos questions, langage, script... l'important c'est que ça marche.
auriez vous des exemples à me donner ?

en ce qui concerne la navigation, j'ai trouvé quelque que chose qui m'a vraiment intéressé, ce système permet de changer une mini page sans forcément recharger la page principal
ce n'est pas de la pub, mais voila le lien ; http://www.presence-pc.com/ regarder la partie "actualités", il y a sûrement du js ...

http://img541.imageshack.us/img541/7408/56487809.png
Modifié par rockrider (17 Jul 2010 - 23:17)
Si tu es en PHP, Heyoan t'as donné l'exemple qui va bien.

Concernant la chose qui t'as intéressé, il s'agit d'un script Javascript (avec requête AJAX) qui sort du cadre de ta question (et pourra faire l'objet d'une autre question dans la partie Script) Smiley cligne .
le code de Heyoan marche très bien, mais c'est plus compliqué que je ne le pensais...

en fait, il faut prendre en compte la page actuelle; par exemple si on est placé dans la page04.html et qu'on veut aller à la page suivant, on ajoute +1

pour mieux comprendre, imaginé une page vierge, avec deux liens de chaque coté...
celui de gauche 'page precedente' et celui de droite 'page suivante'
on doit connaître la page sur laquelle on est pour aller à la page suivante par exemple...

ce n'est pas ce que je voulais au départ, mais j'aimerais commencer doucement pour mieux comprendre comment ça marche.

mon but final et de réussir à créer des liens sous cette forme : 1 2 3 ... 9
qui change de forme, exemple on est sur la page 4, on affiche 2 3 4 5 6 ... 9

c'est exactement la même méthode utilisée dans les forums
Modifié par rockrider (18 Jul 2010 - 01:18)
parfait Heyoan... parfait...
merci

je savais que ces 4 lignes ne suffisaient pas pour construire ce système de pagination

je reviendrai si je rencontre des problèmes

merci tout le monde
je n'arrive pas à l'adapter pour mes pages personnelle...
je pense que c'est plutôt à moi de m'adapter à ce code.

mon futur site consiste à présenter une image dans un tableau, dans le quelle il y a aussi la date, le titre, avec des com si ce n'est pas trop dur... il y aura peut-être 50 pages, ou plus, et 6 tableaux par page.

je pensais que cette méthode de pagination est réalisable sans avoir à se servir de la base de donnée.. sql

je peux me facilité la vie en téléchargeant un programme, ou installer joomla, mais ce n'est pas ce que je cherche
Modifié par rockrider (18 Jul 2010 - 20:36)
Bonjour,

je saisi pas bien le problème :s
tu sais a l'avance combien y a de page ou pas ?

parce que sinon il suffis juste d'une petite boucle avec une variable que tu te fais passé de page en page ..

donc bon .. je suppose comme si c'était un forum , que tu es sur un sujet X du forum , et que se sujet a 10 pages .




<?php

$nb_pages=10; // on suppose que tu as 10 pages . 

if(isset($_GET['page'])) // on regarde si on a reçu page ou pas en get
{
    $num_page=intval($_GET['page']); // on stock le numéro de la page 
    if($num_page>$nb_pages) // si on a un numéro de la page plus grand que le maximum ( c'est louche .. mais bon , y a toujours des gens qui touche aux variables passés par get .. ) 
    {
        $num_page=1; // quelqu'un a du touché donc on remet a 1 . 
    }
}
else 
{
    $num_page=1; // on a pas eu page donc on est sur la 1ere page 
}

include("./page".$num_page.".html"); // on charge la page qu'on a passé en get ( celle qu'on a en principe cliqué donc ) 

?>

<p> voir la page : 
<?php
for($i=1; $i<=$nb_pages; $i++)
{
echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
?>
</p>


Voila Smiley smile

ensuite pour l'affichage qui change en fonction de la page où tu es , je te refais un code pour la boucle pour simplifier la lecture des 2 :

Edit : il faut verifier si ca marche comme ca , peut etre que il faudrait complexifié les tests ( la je suis parti sur un total de 10 pages , mais si t'en a moins ou plus peut etre que ca pourrai buggé ( plutôt moins que plus ( moins que 3 pour la boucle par exemple .. ) )


// on va geré plusieurs cas : un cas ou on sera trop proche des bornes du début et de fin , et un autre ou on sera vers le milieu 

if(num_page<4) // on est trop prêt du début on fais l'affichage depuis 1 
{
    for($i=1; $i<=3; $i++)
    {
    // on rajoute un test pour pouvoir faire le bold
        if($i==$num_page)
        {
            echo '<a class="bold" href="sujetXduforum?page='.$i.'">'.$i.'</a>'; 
        }
        else
        {
            echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>'; 
        }
    }
    echo '...';
    echo '<a href="sujetXduforum?page='.$nb_pages.'">'.$nb_pages.'</a>'; // dernière page 
}
else
{
    if(num_page>nb_pages-3)  // 10 9 8 
    {
        echo '<a href="sujetXduforum?page=1">1</a>'; // première page 
        echo '...';
        for($i=num_pages; $i<=nb_pages; $i++)
        {
            // on rajoute un test pour pouvoir faire le bold
            if($i==$num_page)
            {
                echo '<a class="bold" href="sujetXduforum?page='.$i.'">'.$i.'</a>';  
            }
            else
            {
                echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>'; 
            }
        }
    }
    else
    {
        echo '<a href="sujetXduforum?page=1">1</a>'; // première page 
        echo '...';

        for($i=num_pages-2; $i<=nb_pages+2; $i++)
        {
            // on rajoute un test pour pouvoir faire le bold
            if($i==$num_page)
            {
                echo '<a class="bold" href="sujetXduforum?page='.$i.'">'.$i.'</a>';  
            }
            else
            {
                echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>'; 
            }
        }
    echo '...';
    echo '<a href="sujetXduforum?page='.$nb_pages.'">'.$nb_pages.'</a>'; // dernière page 
    } 

}


?>

Modifié par mathieu1004 (19 Jul 2010 - 14:33)
a écrit :
je saisi pas bien le problème :s

vu le code que tu viens de me donner, je dirai plutôt que tu as tapé dans le mille

mais je n'arrive pas à m'en servir, on me dit qu'il y a une erreur à cette ligne :

 include("./page".$num_page."php"); // on charge la page qu'on a passé en get ( celle qu'on a en principe cliqué donc )  


Warning: main(./page1php) [function.main]: failed to open stream: No such file or directory in /mnt/140/sdb/7/2/monsite/page.php on line 23

Warning: main() [function.include]: Failed opening './page1php' for inclusion (include_path='/mnt/140/sdb/7/2/monsite/include:.:/usr/php4/lib/php') in /mnt/140/sdb/7/2/monsite/page.php on line 23
voir. la page : 12345678910 ...10


apparemment il manque un 'point' dans page1php, mais je n'ai pas réussi à résoudre le problème
 include("./page".$num_page."php"); // on charge la page qu'on a passé en get ( celle qu'on a en principe cliqué donc )  


ah oui il manque le point a php j'ai oublié desolé ..
il faut mettre

 include("./page".$num_page.".php"); // on charge la page qu'on a passé en get ( celle qu'on a en principe cliqué donc )  


pour que cela ecrive page1.php
Modifié par mathieu1004 (19 Jul 2010 - 14:30)
je sens que c'est presque fini

mais il reste un dernier détail, le css, est ce que c'est possible d'ajouter du css dans ce code ?

voila à quoi ça devrait ressembler au final

http://www.monsterup.com/upload/1279549251565.png

CSS :




	div.pagination {
		padding: 3px;
		margin: 3px;
		text-align:center;
		color:#a0a0a0;
		font-size:80%;
	}
	div.pagination a {
		border: 1px solid #909090;
		margin-right:3px;
		padding:2px 5px;
		background-image:url('1.gif');
		background-position:bottom;
		text-decoration: none;
		color: #c0c0c0;
	}
	div.pagination a:hover, div.meneame a:active {
		border: 1px solid #f0f0f0;
		background-image:url('2.gif');
		background-color:#404040;
		color: #ffffff;
	}
	div.pagination span.current {
		margin-right:3px;
		padding:2px 5px;
		border: 1px solid #ffffff;
		font-weight: bold;
		background-color: #606060;
		color: #ffffff;
	}
	div.pagination span.disabled {
		margin-right:3px;
		padding:2px 5px;
		border: 1px solid #606060;
		color: #808080;
	}



image nécessaire
1.gif
http://www.monsterup.com/upload/1279549412493.gif

2.gif
http://www.monsterup.com/upload/127954941249.gif
rockrider a écrit :
J'ai un petit problème de lien, par ex lorsque je clique sur le n° de la page 2, je tombe sur cette url
http://www.monsite.fr/sujetXduforum?page=2

seulement cette page n'existe pas, ça ne mène pas directement à la page2.html Smiley ohwell



oui c'est normal , je suis parti sur le même concept qu'un forum ^^ .

En gros pour la page sujetXduforum , donc par exemple se topic , c'est toujours se topic , et il peux y avoir plusieurs page pour se topic, mais la page de base , ca reste se topic quoi , donc j'ai adapté a ce que tu disais ,mais j'ai dis que j'avais pas bien saisi le problème ^^ .

Pour le css , ca va se faire dans la boucle , en gros quand tu fais les echo tu peux rajouté des classes pour que ca fasse ce que tu veux exactement , mais j'ai pas saisi trop le truc avec tes images ..

a priori , au lieu <p> voir la page : les echos de la boucles for et la fin du <p>
ca va donner un truc du genre :


<div class="pagination">
 les echos de la boucles for , et rajouté un <span class="current"> </span> pour le echo du numero ou on se trouve ... puis pour amelioré enfaite , il faudrait peut etre enlevé le fais que se soit un lien .. pour pas revenir sur la page où on se situe .. 

</div>
merci pour ton aide mathieu, ça marche nickel

j'ai compris l'histoire tu topic, mais le css ... : /
Modifié par rockrider (21 Jul 2010 - 17:29)
a écrit :
mais j'ai pas saisi trop le truc avec tes images ..

elles font parties du système de pagination, on peut les remplacer par des couleurs.
Pages :