Pb pour amélioration script php.
box137
Messages postés
20
Statut
Membre
-
box137 Messages postés 20 Statut Membre -
box137 Messages postés 20 Statut Membre -
Bonjour,
J'ai un souci avec mon scrip php qui s'occupe des news de mon site dont voici sa structure :
Ceci est le code sur la page qui affiche les news, sinon dans une partie sous htacces il y à une page repetoriant toutes les autres news, plus une pour rédiger les news.
Je cherche à améliorer ce script pour que les news qui ne s'affichent plus (après les 3 première donc) soient accesible sur d'autres pages, ou le lien ressemblerais à celà : accueil.php?page=3 par exemple, avec en bas le choix de la page.
Je vous remercie pour toutes aide possible :-)
J'ai un souci avec mon scrip php qui s'occupe des news de mon site dont voici sa structure :
<?php
mysql_connect("***", "***", "***");
mysql_select_db("***");
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 3');
while ($donnees = mysql_fetch_array($retour))
{
?>
<table width="570">
<tr>
<td><div align="center">
<h2>
<?php echo $donnees['titre']; ?></h2>
<p><em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em></p>
<p align="left">
<?php
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
</p></div></td>
</tr>
</table>
<p></p>
<?php
}
?>
Ceci est le code sur la page qui affiche les news, sinon dans une partie sous htacces il y à une page repetoriant toutes les autres news, plus une pour rédiger les news.
Je cherche à améliorer ce script pour que les news qui ne s'affichent plus (après les 3 première donc) soient accesible sur d'autres pages, ou le lien ressemblerais à celà : accueil.php?page=3 par exemple, avec en bas le choix de la page.
Je vous remercie pour toutes aide possible :-)
A voir également:
- Pb pour amélioration script php.
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Expert php pinterest - Télécharger - Langages
7 réponses
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 3');
A la place du 0 tu mets ton numéro de page *3 pour avoir 3 news par page.
Genre :
$numPage= $numPage*3
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '+ $numpage+', 3');
La commande LIMITE marche comme ça "LIMIT 0,3" ?
--> Tu pars de l'élément 0 et tu en prends 3.
A la place du 0 tu mets ton numéro de page *3 pour avoir 3 news par page.
Genre :
$numPage= $numPage*3
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '+ $numpage+', 3');
La commande LIMITE marche comme ça "LIMIT 0,3" ?
--> Tu pars de l'élément 0 et tu en prends 3.
Merci beaucoup de ta réponse.
Mais il me dit "sytax error".
Je ne vois pas vraiment où placer ce code ?
Ne faudrait-il pas utiliser $get pour appeler une page ?
Je suis un peu perdu :/
Merci de ton aide quand même ^^
Mais il me dit "sytax error".
Je ne vois pas vraiment où placer ce code ?
Ne faudrait-il pas utiliser $get pour appeler une page ?
Je suis un peu perdu :/
Merci de ton aide quand même ^^
Ouai non mais si tu colles mon code telle quel c'est clair que ça va bugguer xD.
Fo le reprendre. C plutot l'algo que je t'ai filé avec l'idée.
Exemple: la variable $numPages n'est initialisée nulle aprt sur mon truc. Fuat la faire passer en get ou post, ect.
Encore que le mieux est de la faire apsser par l'url.
Après faut afficher en bas de la page des numéros de page, des flèches, ect. pour que la personne puisse naviguer...
JE suis même plus sur que la concaténation de chaine en pp se fasse ainsi, ect. .
Fo le reprendre. C plutot l'algo que je t'ai filé avec l'idée.
Exemple: la variable $numPages n'est initialisée nulle aprt sur mon truc. Fuat la faire passer en get ou post, ect.
Encore que le mieux est de la faire apsser par l'url.
Après faut afficher en bas de la page des numéros de page, des flèches, ect. pour que la personne puisse naviguer...
JE suis même plus sur que la concaténation de chaine en pp se fasse ainsi, ect. .
PTDR ! Je suis désolé je suis tellement pomé que j'ai pas compris ton précédent message et je m'excuse. (je suis sur deux autres scripts en même temps :/)
Alors, ce que je cherche là, comme tu la vu sur ma page accueil.php les 3 dernières news s'affichent. Mais les anciennes ne s'affichent plus.
Mais j'aimerais mettre en bas les numéros des pages précédentes pour pouvoir consulter les anciennes news. [1.2.3..] des liens quoi.
Mais je ne sais pas comment faire bien que je pense qu'il faut que j'utilise $get mais comment coder celà ? Pour que en clickouillant sur mes numéros en bas les visiteurs accèdent aux anciennes news. Les liens appelès devraient ressembler à ce genre là : www.monsite.com/accueil.php?pagesnews=5
Merci :)
Alors, ce que je cherche là, comme tu la vu sur ma page accueil.php les 3 dernières news s'affichent. Mais les anciennes ne s'affichent plus.
Mais j'aimerais mettre en bas les numéros des pages précédentes pour pouvoir consulter les anciennes news. [1.2.3..] des liens quoi.
Mais je ne sais pas comment faire bien que je pense qu'il faut que j'utilise $get mais comment coder celà ? Pour que en clickouillant sur mes numéros en bas les visiteurs accèdent aux anciennes news. Les liens appelès devraient ressembler à ce genre là : www.monsite.com/accueil.php?pagesnews=5
Merci :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lol non je ne t'es pas demandé de me coder tout ça non plus, et je ne suis pas un professionnel du webmastering oui est-ce si grave ? Sinon pourquoi je viendrais ici demander de l'aide >.<
Je demande une méthode et je cherche à comprendre, je visualise ce que tu m'expliques avec les flèches ou les numéros mais je ne vois pas comment modifier ce code.
Je demande une méthode et je cherche à comprendre, je visualise ce que tu m'expliques avec les flèches ou les numéros mais je ne vois pas comment modifier ce code.
Non mais tu pouvais vouloir du code tout fait. C'est pas forcément débile si t'y connais rien en PHP. Y'en a déjà eu des postes de ce genre auquel j'ai déjà répondu. (pas beaucoup, c'est vrai). Nous ne sommes pas sur devellopez.com ici. La-bas, tu dois tout faire toi-même et eux t'aident si t'es bloqué.
Ici, ce n'est pas la même philosophie, tu peux demander du code tout fait (bon, ok, t'auras pas forcément des réponses mais ce n'est pas impossible comme la-bas).
C'était juste pour connaitre ta demande. Bon je bosse un peu la dessus et je te redonne un code un peu plus clair. Le truc c'est que je ne peux pas installer des programmes sur le pc ou je suis (genre WAMP2 auquel cas la j'aurais réellement pu te filer du code qui marche) donc je pourrais pas tester le code donc certainement des erreurs de syntaxe (par exemple, les oublis de point virgule en fin de ligne)...
Bon, je me met à bosser la dessus et je poste.
Ici, ce n'est pas la même philosophie, tu peux demander du code tout fait (bon, ok, t'auras pas forcément des réponses mais ce n'est pas impossible comme la-bas).
C'était juste pour connaitre ta demande. Bon je bosse un peu la dessus et je te redonne un code un peu plus clair. Le truc c'est que je ne peux pas installer des programmes sur le pc ou je suis (genre WAMP2 auquel cas la j'aurais réellement pu te filer du code qui marche) donc je pourrais pas tester le code donc certainement des erreurs de syntaxe (par exemple, les oublis de point virgule en fin de ligne)...
Bon, je me met à bosser la dessus et je poste.
Ha ok, je pensais que tu prenais mal ma demande en fait.
Et ben je te remercie énormément pour ton aide.
Et ben je te remercie énormément pour ton aide.
Donc si j'ai bien compris ta demande, tu veux pas mal de code à retravailler. Ca tombe bien, voila ce que je te donne...
<?php
mysql_connect("***", "***", "***");
mysql_select_db("***");
if(isset($_GET["numPages"]))
{
$numPages = $_GET["numPages"]; //Si l'url comporte le numéro de la page, on le prend
} else
{
$numPages = 0; //sinon on dit que c'est la page 0 Xd
}
$numeroDePremiereNewsAffichee = $numPages*3;
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '+ $numeroDePremiereNewsAffichee +', 3');
//Suite de ton code pour afficher les new...
?>
<?php
//CA c'est pour afficher les numéros des pages. La j'ai mis page précédente, actuelle et suivante théoriquement. J'ai
//pas mis de condition pour suivante, or normalement il en faut une sinon il pourra afficher des pages sans news mais
//après tout, ça marche quand même... Donc légèrement à retravailler pour améliorer.
//Je me suis peut-être planté dans les +1 car la je me suis compliqué la vie en disant que ta première page était 0.
//J'aurais aps du, ça aurait été beaucoup plus simple
//En bas de page , peut être centré avec les balises html normal...
echo "Pages : "
//Pour afficher la page juste avant mais pas si on est sur la première page car il n'y a pas de page avec des news plus récentes
if ($numPages>0)
{
$numPagePrec = $numPages-1
printf ('<a href=\"news.php?numPages=%s?\"> %s, </a>' ,$numPagePrec, $numPages);
}
//On affiche la page actuelle :
$numPageActu = $numPages+1
printf ('<a href=\"news.php?numPages=%s?\">%s, </a>' ,$numPages, $numPageActu);
//On affiche la page suivante. C'esst ici qu'il faudrait mettre un if... Mais marche sans... Théoriquement bien sur xD
//le nom de $numPageActu n'est plus judicieux à partir d'ici, je l'accorde.
$numPageSuiv = $numPages+2
printf ('<a href=\"news.php?numPages=%s?\">%s, </a>' ,$numPageActu , $numPageSuiv );
//Suite si besoin ...
?>
Au fait, le problème de syntaxe en haut était bien un oubli de ";" après
$numPage= $numPage*3 faut mettre un ; donc j'aurais du écrire si tu ne voulais pas de pb de syntaxe :
$numPage= $numPage*3;
Gates gave you the windows.
GNU gave us the whole house.
<?php
mysql_connect("***", "***", "***");
mysql_select_db("***");
if(isset($_GET["numPages"]))
{
$numPages = $_GET["numPages"]; //Si l'url comporte le numéro de la page, on le prend
} else
{
$numPages = 0; //sinon on dit que c'est la page 0 Xd
}
$numeroDePremiereNewsAffichee = $numPages*3;
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT '+ $numeroDePremiereNewsAffichee +', 3');
//Suite de ton code pour afficher les new...
?>
<?php
//CA c'est pour afficher les numéros des pages. La j'ai mis page précédente, actuelle et suivante théoriquement. J'ai
//pas mis de condition pour suivante, or normalement il en faut une sinon il pourra afficher des pages sans news mais
//après tout, ça marche quand même... Donc légèrement à retravailler pour améliorer.
//Je me suis peut-être planté dans les +1 car la je me suis compliqué la vie en disant que ta première page était 0.
//J'aurais aps du, ça aurait été beaucoup plus simple
//En bas de page , peut être centré avec les balises html normal...
echo "Pages : "
//Pour afficher la page juste avant mais pas si on est sur la première page car il n'y a pas de page avec des news plus récentes
if ($numPages>0)
{
$numPagePrec = $numPages-1
printf ('<a href=\"news.php?numPages=%s?\"> %s, </a>' ,$numPagePrec, $numPages);
}
//On affiche la page actuelle :
$numPageActu = $numPages+1
printf ('<a href=\"news.php?numPages=%s?\">%s, </a>' ,$numPages, $numPageActu);
//On affiche la page suivante. C'esst ici qu'il faudrait mettre un if... Mais marche sans... Théoriquement bien sur xD
//le nom de $numPageActu n'est plus judicieux à partir d'ici, je l'accorde.
$numPageSuiv = $numPages+2
printf ('<a href=\"news.php?numPages=%s?\">%s, </a>' ,$numPageActu , $numPageSuiv );
//Suite si besoin ...
?>
Au fait, le problème de syntaxe en haut était bien un oubli de ";" après
$numPage= $numPage*3 faut mettre un ; donc j'aurais du écrire si tu ne voulais pas de pb de syntaxe :
$numPage= $numPage*3;
Gates gave you the windows.
GNU gave us the whole house.