PHP/MySQL : problème affichage articles

oudini_ Messages postés 4 Statut Membre -  
oudini_ Messages postés 4 Statut Membre -
Bonjour,

Je stocke des articles dans une base de données MySQL.

La listes des articles (10 articles par page) sur mon site se fait via les URL suivantes :
http://mon_domaine.fr/index.php?page=actualite&nb=0
http://mon_domaine.fr/index.php?page=actualite&nb=1
http://mon_domaine.fr/index.php?page=actualite&nb=2
...
ou nb=0=numéro de la page (affiche les 10 derniers articles)
nb=0=les 10 articles les plus récents
nb=1=du 11ième au 20ième articles les plus récents
...

L'affichage des articles se fait via l'URL suivante :
http://mon_domaine.fr/index.php?page=actualite&nb=0&id=345
http://mon_domaine.fr/index.php?page=actualite&nb=1&id=250

ou id= identifiant MySQL de l'article

Lorsque un article passe de la page 1 à la page 2 (par exemple) l'URL pour le visualiser change :
AVANT : http://mon_domaine.fr/index.php?page=actualite&nb=0&id=250
APRES : http://mon_domaine.fr/index.php?page=actualite&nb=1&id=250

Du coup les moteurs de recherches ne trouvent plus l'article. Ils référencent l'article à l'URL http://mon_domaine.fr/index.php?page=actualite&nb=0&id=250 alors qu'il est visible à cette nouvelle URL http://mon_domaine.fr/index.php?page=actualite&nb=1&id=250.

Lorsqu'un internaute surfe sur mon site, il n'y a pas de pbs puisque les URL sont correctes. Par contre lorsque l'internaute vient de google ou autre moteur de recherche, il y a souvent des pbs.

Je voudrais donc mettre en place un code php gérant les choses de la façon suivante :
- continuer de la même façon lorsque l'URL source vient de mon_domaine.fr
- mettre en place une solution lorsque la requête de vient pas de mon domaine pour afficher correctement l'article

Quelqu'un aurait il une ou des idée(s) ?

Merci d'avance
Configuration: Windows XP
Firefox 3.0.16

6 réponses

  1. totofrancois Messages postés 420 Statut Membre 44
     
    ne tiens pas compte du "nb" si tu as l "id"
    0
  2. totofrancois Messages postés 420 Statut Membre 44
     
    tu n'a pas besoin de du "nb" pour afficher un article, tu en a besoin pour naviguer sur tes pages ?

    en gros :

    SI $id alors
    select * from article where id=$id
    SiNONSI £nb alors
    select * from article limit $nb*20, $nb

    fin

    et comme cela peu importe d'ou il vient si l'id est correcte il trouvera l'article
    0
  3. oudini_ Messages postés 4 Statut Membre
     
    exemple concret :

    http://www.handball.fr/index.php?page=page_actu&nb=1&id_actu=173#173
    => cet article s'affiche

    demain j'ajoute des articles et celui la (id=173) passe en page 2 (nb=2) mais les moteurs de recherche ne le verront pas...
    http://www.handball.fr/index.php?page=page_actu&nb=2&id_actu=173#173
    => cet article ne s'affiche pas

    voila ce que je cherche à résoudre ...

    Du coup, je pensais faire un test :
    si la requete vient de handball.fr je traite comme aujourd'hui
    si la requete vient de l'extérieur, je prend juste page=page_actu et id_actu=173

    Peux tu m'aider ?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. totofrancois Messages postés 420 Statut Membre 44
     
    en allant sur ton site j'ai pensé a un truc :

    le nb tu n'en a pas besoin du tout tu peux le calculer : tu fait un

    select count(article) where date>(select date from article where id=id

    et après tu récupère ton nb avec un modulo
    0
  6. oudini_ Messages postés 4 Statut Membre
     
    bon je sens que je ne ferai pas ça ce soir, ça va entrainer pas mal de modifs ...

    merci de ton aide

    @+
    0