| Auteur | |
|---|---|
| badiou | # 29 Apr 2008 - 21:21:09 |
| 24 Posts |
Bonjour à tous, J'ai un site internet dont le principe est de publier une page par jour. La navigation de page en page se fait pour l'instant par l'intermédiaire d'un lien pointant vers l'ancienne page. Je fais ça manuellement, chaque fois. Cela devient fastidieux et j'aimerai bénéficier des qualités du php et mysql pour alléger cette navigation. J'ai donc crée une base de donnée avec deux champs : un ID et un champ pages (urls de chaque nouvelle page) Chaque fois que je mets une nouvelle page en ligne, je remplis la base avec la nouvelle page. J'ai regardé plein d'exemples de paginations sur internet et j'essaie par le biais de Dreamweaver (pagination du jeu d'enregistrement, barre de navigation) de passer d'une page à une autre. Ce dont j'ai besoin en fait c'est juste d'un lien hypertexte indiquant suivant et quelle que soit la page depuis l'on clique, que ça aille sur la page suivante enregistrée dans la base de donnée. Je pensais à quelque chose comme <a href="<?php echo $row_pages['pages']+1; ?>" target="_self">Suivant</a> Et finir en enregistrant cette navigation sous une page php indépendante et l'appeler en include. Quelqu'un saurait me conseiller ? |
| Florent V. | # 30 Apr 2008 - 01:20:44 |
On va manger des chips. Modérateur 12132 Posts |
Hello, Si ta base est vraiment aussi minimale (id et nom de la page associée), tu n'as même pas besoin de base de données. Un simple array en PHP fera l'affaire: <?php Quelque chose du genre. Et ensuite, dans chaque fichier PHP, tu as ton contenu HTML de la page (éventuellement des include pour certaines parties que l'on retrouve sur toutes les pages), et ceci (par exemple): <?php |
| badiou | # 30 Apr 2008 - 12:26:59 |
| 24 Posts |
Hello, Merci de cette aide. C'est sympa. J'ai testé cette solution mais un message d'erreur me revient : Notice: Undefined offset: -1 in c:\temp\inc\navigation.php Le lien page suivante fonctionne mais j'ai cette erreur... Ce serait lié à cette ligne : if($pages[$current_page - 1]) { |
| Florent V. | # 01 May 2008 - 00:55:43 |
On va manger des chips. Modérateur 12132 Posts |
Hmm... j'avoue avoir rédigé ça de tête pour montrer le principe. Il se peut que ça ne soit pas le bonne syntaxe en PHP. Edit: euh... je viens de tester, et ça marche très bien de mon côté. Comme quoi je suis meilleur en PHP que je ne pensais. Mais si le message que tu options est un Notice: ..., ce n'est pas une erreur mais juste un avertissement (qui dit en gros que $pages[-1] n'existe pas, ce qui ne nous pose pas de problème vu que justement nous testons l'existence de $page[n] avant de tenter d'afficher le lien correspondant). Je dis peut-être une bêtise mais il me semble qu'il faudrait désactiver les avertissements de ce niveau dans la configuration de PHP. |
| Heyoan | # 01 May 2008 - 09:06:56 |
Un p'tit Kiwiz Coca ? Modérateur 2278 Posts |
Florent V. a écrit :Euh... si c'est quand même une erreur qui risque de s'afficher en fonction du paramétrage : pour s'en convaincre il suffit de rajouter unerror_reporting(E_ALL);en début de code. Pour l'éviter, il suffit de remplacer if($pages[$current_page - 1]) {parif ( array_key_exists( $current_page - 1, $pages )) {et if($pages[$current_page + 1]) {parif ( array_key_exists( $current_page + 1, $pages )) {A+ Edit: et pour ce qui est de désactiver les avertissements je suis plutôt partisan de rajouter le fameux error_reporting(E_ALL); pendant la phase de développement pour justement corriger toutes les erreurs (warnings compris) avant de mettre en ligne en mettant error_reporting(0); Modifié par Heyoan (01 May 2008 - 09:16) |
Les références web : openweb.eu.org - opquast.com - webmaster-hub.com - webrankinfo.com - salemioche.net - web-pour-tous.org - webonorme.org
Nos partenaires : Editions Eyrolles - Location vacances France - Location vacances Europe
Nikozen : Hébergement - Réalisation : Alsacreations.fr







