Url Rewriting dans une pagination

cybereco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 35
Inscription: 19 Aoû 2011

Url Rewriting dans une pagination

Message le Sam Sep 10, 2011 9:58

Bonjour,

Mon problème est de fusionner mon script de pagination se situant dans la page index.php
Code: Tout sélectionner
<div class="section actualite">
      <!--Le contenu -->
   <h1>Les dernières news !</h1>
   <?php
   
   /*
   Connexion à  la BDD
   */
   require "connect.php";
   mysql_connect($adresse, $nom, $motdepasse);
   mysql_select_db($database);
   
   $sql = "SELECT COUNT(id) as nbArt FROM news";
   $req = mysql_query($sql) or die(mysql_error());
   $data = mysql_fetch_assoc($req);
   
   $nbArt = $data['nbArt'];
   $perPage = 2;
   $nbPage = ceil($nbArt/$perPage);
   $cPage = 1;
   
   if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nbPage){
   $cPage = $_GET['p'];
   }   
   {   
   $sql = "SELECT * FROM news ORDER BY id DESC LIMIT ".(($cPage-1)*$perPage).",$perPage";
   $req = mysql_query($sql) or die(mysql_error());
   while($data = mysql_fetch_assoc($req)){
         
            ?>   

<ul class="contentlist"><h2><span
class="surtitre"><?php echo $data['ville'];?></span></h2>
<li class="article"> <a class="photo" title="<?php echo $data['titre'];?>"
<a href="article.php?id=<?php echo $data['id']; ?>"> <img
style="border: 0px solid ; width: 170px; height: 138px;"
src="<?php echo $data['visuel'];?>"</a>
      <h2><a title="<?php echo $data['titre'];?>"
href="/article.php?id=<?php echo $data['id']; ?>"><?php echo stripslashes($data['titre']);?></a></h2>
      
      <div class="contenu"><?php echo stripslashes($data['description']);?></d>
      <div class="infosTxt"> <span class="publication">Article publié le : <?php echo date("d/m/Y G:i", strtotime($data['date'])); ?></span><span class="medias">    </div>
</li>   

      <?php
      
   }
   }
   
   
   ?>
   <div class="pager">
<div class="resultat_pager"><?php for($i=1;$i<=$nbPage;$i++)
   echo "<a href=\"index.php?p=$i\">$i</a>/";

      ?>
       </div>


avec un script d'url rewriting qui lui aussi doit s'intégrer dans cette page index.php
Code: Tout sélectionner
<?php
include "connect.php";
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="design" href="/images/design.css" />
      </head>
      
   <body>   
   <div id="banniere">
      <!-- La banniere-->
      <a href="#"><img src="/images/banniere.jpg" alt="banniere" /></a>
   </div> 
   
   <div id="contenu">
   <h1>Nos produits</h1>
   <ul>
   <?php   
   $sql = "SELECT * FROM news";
   $req = mysql_query($sql) or die(mysql_error());
   while($data = mysql_fetch_assoc($req)){
         $url = "produit/".$data["url"]."-".$data["id"];
         echo "<li><a href=\"$url\">".$data["titre"]."</a></li>";
         
   }   
   
         
            ?>   
            </ul>
         </div>
</body></html>
avec un htaccess
Code: Tout sélectionner
RewriteEngine On
RewriteRule /([a-zA-Z0-9\-]+)-([0-9]+)    articles.php?url=$1&id=$2
.

Mes différentes tentatives restent vaines et un sérieux coup de main serait le bienvenu car mes compétences sont trop minces encore.
Merci.


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: Url Rewriting dans une pagination

Message le Sam Sep 10, 2011 10:16

Une petite fonction pour la pagination qui va bien, par seebz: http://seebz.net/34-pagination-2-comme-avant-en-mieux.html

cybereco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 35
Inscription: 19 Aoû 2011

Re: Url Rewriting dans une pagination

Message le Sam Sep 10, 2011 12:24

Merci mais ce n'est pas cela que je recherche. Votre lien amène vers une pagination des pages uniquement, alors que mon script permettent la pagination des pages, mais aussi des articles (par exemple 10 par page). Je dois donc intégrer (du moins je pense) le sript d'url rewriting dans ce script en respectant mon css. Mais je ne sais pas fusionner ces 2 scripts.

cybereco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 35
Inscription: 19 Aoû 2011

Re: Url Rewriting dans une pagination

Message le Sam Sep 10, 2011 14:20

Du moins a priori...N'y a t'il pas moyen de faire en sorte avec mes 2 scripts ci-dessus que lorsque l'on clique sur titre ou visuel, ce soit la page avec l'url réécrite qui s'affiche ? Merci pour votre aide.

cybereco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 35
Inscription: 19 Aoû 2011

Re: Url Rewriting dans une pagination

Message le Sam Sep 10, 2011 19:05

Bonsoir SPOUT?

Utilises-tu ce script pour ton site http://equidir.com/fr/annuaire/alimentation ?

Si c'est le cas, pourrais-tu me transmettre une idée du code que tu utilises ? Ca correspond en gros, même pas mal, à ce que je cherche à faire, sauf que pas doué, j'ai un souci avec la partie
// ICI VOTRE CODE NORMAL
// Affichage d'un élément

J'essaie bêtement d'insérer cela
Code: Tout sélectionner
<ul class="contentlist"><h2><span
class="surtitre"><?php echo $data['ville'];?></span></h2>
<li class="article"> <a class="photo" title="<?php echo $data['titre'];?>"
<a href="article.php?id=<?php echo $data['id']; ?>"> <img
style="border: 0px solid ; width: 170px; height: 138px;"
src="<?php echo $data['visuel'];?>"</a>
      <h2><a title="<?php echo $data['titre'];?>"
href="/produit.php?id=<?php echo $data['id']; ?>"><?php echo stripslashes($data['titre']);?></a></h2>
     
      <div class="contenu"><?php echo stripslashes($data['description']);?></d>
      <div class="infosTxt"> <span class="publication">Article publié le : <?php echo date("d/m/Y G:i", strtotime($data['date'])); ?></span><span class="medias">    </div>
</li>
mais évidemment, il y a erreur.

Merci pour ta sollicitude.


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: Url Rewriting dans une pagination

Message le Sam Sep 10, 2011 21:40

J'utilise CakePHP donc mon code va pas trop t'aider.

Je t'ai dirigé vers le code de seebz car c'est bien expliqué comment faire une pagination: http://seebz.net/12-creer-un-systeme-de-pagination.html
Couplé a sa fonction pagination, avec ou sans rewrite (via le 3° paramètre $link='?page=%d').

cybereco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 35
Inscription: 19 Aoû 2011

Re: Url Rewriting dans une pagination

Message le Dim Sep 11, 2011 20:42

Merci spout pour tes réponses et effectivement la fonction de seebz est intéressante.

Ma pagination fonctionne impec par contre mon url rewriting me pose probleme.
Pour faire bref,
il faudrait que j'arrive à modifier
Code: Tout sélectionner
<h2><a title="<?php echo $data['titre'];?>"
href="/article.php?id=<?php echo $data['id'];?>&url=<?php echo $data['url'];?>"><?php echo stripslashes($data['titre']);?></a></h2>
qui donne http://www.monsite.com/article.php?10&url=mon-url-affichee-comme-je-le ... ouhaiterai en http://www.monsite.com/article/10-mon-url-affichee-comme-je-le-souhaiterai.

J'ai essayé aussi
Code: Tout sélectionner
<h2><a
href="/article/<?php echo $data['id'];?>-<?php echo $data['url'];?>"> <?php echo stripslashes($data['titre']);?></a></h2>
mais j'obtiens une erreur 404.

J'ai réécris mon htaccess ainsi
Code: Tout sélectionner
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

#Règle de redirection

RewriteRule ^article/([0-9]+)-(.+)\.html$ articles.php?id=$1&url=$2 [L]
, mais rien de mieux.

cybereco
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 35
Inscription: 19 Aoû 2011

Re: Url Rewriting dans une pagination

Message le Lun Sep 12, 2011 14:44

Bon la solution est trouvée :

Code Htaccess :
Code: Tout sélectionner
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

#Règle de redirection

RewriteRule ^article/([0-9]+)-(.+)\.html$ article.php?id=$1&url=$2 [L]
et en page index.php
Code: Tout sélectionner
<a
href="/article/<?php echo $data['id'];?>-<?php echo $data['url'];?>.html"> <?php echo stripslashes($data['titre']);?></a>
.

Par contre le htaccess donne une page erreur 404 chez l'hébergeur 1and1 et fonctionne parfaitement ailleurs.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

  • Analyse de popularité
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités