Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1503 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Afficher des données dynamiques sur plusieurs pages

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher des données dynamiques sur plusieurs pages

n°233949
Snake-X
Posté le 24-10-2002 à 16:22:42  profilanswer
 

Bonjour à tous,
 
Voilà j'ai un contenu de news pour un site dans une base de donnée, et j'aimerai l'afficher sur une page déjà faite en .php mais voilà j'aimerai pouvoir en afficher par exemple une dizaine par page et qu'il me fasse un lien vers d'autres pages si par exemple le nombre max de news est dépassé. En gros 10 news sur une page s'il y en a une 2ème et bien un lien vers la page suivante avec l'affichage des 10 news suivantes.
 
J'éspère que vous voyez ce que je veux dire.
 
je voulais savoir si qqun avait déjà un bout de code qui pourrait m'aider ou bien me donné la démarche à suivre pour le coder.
 
Je vous remercie vraiment d'avance pour l'aide que vous pourrez m'apporter.
 
Cordialement
 
Snake-X


---------------
http://www.xboxlive.fr
mood
Publicité
Posté le 24-10-2002 à 16:22:42  profilanswer
 

n°233952
Snake-X
Posté le 24-10-2002 à 16:26:09  profilanswer
 

Si vous pouviez aussi m'aidez en ce qui concerne le passage des paramètres ...
 
Merci beaucou^p


---------------
http://www.xboxlive.fr
n°233953
Toucouch
Posté le 24-10-2002 à 16:29:35  profilanswer
 

Sous MySQL tu peux faire une requête du genre:
 
SELECT * FROM TaTable LIMIT XX, YY
 
avec XX ton numéro de départ et YY le nombre d'enregistrements à afficher. Par exemple, si tu veux afficher 25 enregistrements à partir du 50° (ce qui correspondrait à la 3° page de 25 enregistrements chacune):
 
SELECT * FROM TaTable LIMIT 50, 25
 
Ca répond à ta question?

n°233955
Sebastien
Posté le 24-10-2002 à 16:31:55  profilanswer
 

A l arrache
 
Compter le nombre nbre de news  
$total=(mysql_num_rows)
dire le nombre de news max par page
if (!$prem) $prem=0
$max= 10
 
faire ta requete du genre
select
from
limit $prem, $max
 
---affichage---
 
if( $total > $max) {
$prem=$prem+10;
<a href=?prem=$prem>page suivante</a>
}


Message édité par Sebastien le 24-10-2002 à 16:34:26
n°233957
Snake-X
Posté le 24-10-2002 à 16:33:26  profilanswer
 

Heu oui mais en fait je ne sais jamais car en fait le nombre augmente continuellement. Les news que je devrais afficher ont un idicatif d'affichage 1 ou 0. Et en fait tout ceux qui ont la valeur 1 ne font pas partis de l'archivage et 0 seront affiché en tant qu'archive. Donc il faut aussi que je récupère mais bon je dois pouvoir faireun select sur tout ce qui les 20 premiers qui ont un 0 ce que je dois pouvoir faire sans problèmes mais c'est surtout pour les pages suivantes que çà me pose un problème et pour le passage de paramètres je suppose qu'il faut que je passe en paramètres les 20 suivants affiché par exemple.


---------------
http://www.xboxlive.fr
n°233958
Snake-X
Posté le 24-10-2002 à 16:34:26  profilanswer
 

Sebastien a écrit a écrit :

A l arrache
 
Compter le nombre nbre de news  
$total=(mysql_num_rows)
dire le nombre de news max par page
if (!$prem) $prem=0
if (!$max) $max= 9
 
faire ta requete du genre
select
from
limit $prem, $max
 
---affichage---
 
if( $total > $max) {
$prem=$prem+10;
$max=$max+10;
<a href=?max=$max&prem=$prem>page suivante</a>
}




 
Ha oui çà déjà çà m'aide bien :)


---------------
http://www.xboxlive.fr
n°233959
Sebastien
Posté le 24-10-2002 à 16:35:11  profilanswer
 

Attention je mettais trompé sur l utilisation du limit, j ai corrigé ca :-)

n°233960
Snake-X
Posté le 24-10-2002 à 16:35:16  profilanswer
 

Comment je peux faire pour compter le nombre d'enregistrements de la table pour tout ceux qui ont l'indicatif 0


---------------
http://www.xboxlive.fr
n°233962
Sebastien
Posté le 24-10-2002 à 16:36:49  profilanswer
 

a la barbare :-)
$total = mysql_num_rows(mysql_query("select * from news where indicatif=0" ));

n°233963
Snake-X
Posté le 24-10-2002 à 16:37:18  profilanswer
 

Sebastien a écrit a écrit :

a la barbare :-)
$total = mysql_num_rows(mysql_query("select * from news where indicatif=0" ));




 
J'aimerais bien pouvoir être un barbare comme çà lol


---------------
http://www.xboxlive.fr
mood
Publicité
Posté le 24-10-2002 à 16:37:18  profilanswer
 

n°233964
Snake-X
Posté le 24-10-2002 à 16:38:33  profilanswer
 

Dans ma démarche est-ce que je peux faire comme çà
 
1) Essayé de tout afficher déjà sur la page
2) Essayé de ne mettre que les 20 premiers
3) gérer le multipage
 
Est-ce que çà peut vous paraître logique ?


---------------
http://www.xboxlive.fr
n°233966
Sebastien
Posté le 24-10-2002 à 16:39:38  profilanswer
 

Ooopps oublie pas le limit aussi a la fin hein  
 
$total = mysql_num_rows(mysql_query("select * from news where indicatif=0 limit $prem, $max" ));

n°233967
Sebastien
Posté le 24-10-2002 à 16:40:13  profilanswer
 

Snake-X a écrit a écrit :

Dans ma démarche est-ce que je peux faire comme çà
 
1) Essayé de tout afficher déjà sur la page
2) Essayé de ne mettre que les 20 premiers
3) gérer le multipage
 
Est-ce que çà peut vous paraître logique ?




 
C'est comme ca que je procederais perso, meme si je sauterais l etape une.

n°233969
Snake-X
Posté le 24-10-2002 à 16:41:17  profilanswer
 

Sebastien a écrit a écrit :

 
 
C'est comme ca que je procederais perso, meme si je sauterais l etape une.




 
Heu ouais mais si je saute là une je vais me perdre :p


---------------
http://www.xboxlive.fr
n°233973
Sebastien
Posté le 24-10-2002 à 16:42:51  profilanswer
 

Non car la difference entre la une et la deux
c que dans ta requete tu auras juste ajouté limit 0,20

n°233975
Snake-X
Posté le 24-10-2002 à 16:46:32  profilanswer
 

Bon on va dire que çà sera une demi-étape alors :)


---------------
http://www.xboxlive.fr
n°233989
Snake-X
Posté le 24-10-2002 à 16:59:51  profilanswer
 

Et bien en tout cas je vous remercie beaucoup pour toutes ces infos très précieuses :p
 
Bonne continuation et @ Bientôt
 
PS : pour les personnes qui arriveraient après je suis ouvert à d'autres posts et d'autres conseils. :p


---------------
http://www.xboxlive.fr
n°234227
omega2
Posté le 25-10-2002 à 01:53:22  profilanswer
 

Sebastien a écrit a écrit :

Ooopps oublie pas le limit aussi a la fin hein  
 
$total = mysql_num_rows(mysql_query("select * from news where indicatif=0 limit $prem, $max" ));



bingo, mysql_num_rows ne retournera jamais une valeur supérieure à max vu qu'il comptes le nombre de réponses retourné par la requête. La première solution est la bonne mais trop longue à exécuter.
Il faut faire un mysql_query("select count(*) nombre from news where indicatif=0 )
et ensui_te aller cherche le résultat de la requête qui là contiendra le nombre de réponse corespondant à ce qu'il a besoin.
A chôté, il fait son mysql_query("select * from news where indicatif=0 limit $prem, $max" ) pour obtenir les textes à affiché à l'écran. ;)

n°234274
Snake-X
Posté le 25-10-2002 à 08:35:59  profilanswer
 

Merci beaucoup bon ben si avec tout çà je n'y arrive c'est que vraiment je suis une bu.... enfin vous voyez quoi.
 
En tout cas merci beaucoup :)


---------------
http://www.xboxlive.fr
n°234293
Sebastien
Posté le 25-10-2002 à 09:30:19  profilanswer
 

omega2 a écrit a écrit :

bingo, mysql_num_rows ne retournera jamais une valeur supérieure à max



 
Lol oui c t bien la premiere facon la bonne, c ca quand je dis a la barbare :-)
Par contre savoir laquelle des deux methodes est la plus rapide ben la je sais pas trop, ma requete permet de recuperer directement une variable et non un array, pour lui simplifier les choses.

n°234334
omega2
Posté le 25-10-2002 à 10:59:29  profilanswer
 

Sebastien a écrit a écrit :

 
 
Lol oui c t bien la premiere facon la bonne, c ca quand je dis a la barbare :-)
Par contre savoir laquelle des deux methodes est la plus rapide ben la je sais pas trop, ma requete permet de recuperer directement une variable et non un array, pour lui simplifier les choses.



Oui, mais avec ta méthode, tu transfére toutes les valeurs de la base de donée vers le serveur php avant de calculer le nombre de ligne.
Quand il en aura plusieurs miliers dans sa table et si chaque ligne prends beau coup de place il tombera a coup sur sur un time out à cause de ça.
Dans mon cas , ca lui fait 2-3 ligne de php de plus à écrire mais aussi un bon gain de temps sur les grosses tables. ;)

n°234381
Sebastien
Posté le 25-10-2002 à 11:38:12  profilanswer
 

Un point pour toi :-)  
 
ps : [je n utilise jamais mysql_num_rows non plus]


Message édité par Sebastien le 25-10-2002 à 11:38:40
n°234561
omega2
Posté le 25-10-2002 à 15:09:28  profilanswer
 

Sebastien a écrit a écrit :

Un point pour toi :-)  
 
ps : [je n utilise jamais mysql_num_rows non plus]



Ben moi je l'utilise par ce que je travailles pas en php4 et que c'est quand même bien pratique en php3 de savoir quand arrêter une boucle. ;)

n°236547
javases
Posté le 29-10-2002 à 13:57:18  profilanswer
 
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Afficher des données dynamiques sur plusieurs pages

 

Sujets relatifs
Afficher la signature de mon forum en plus petit[PHP, MySQL] Base de données MySQL et Unicode...
IE ne sait pas afficher ce topic avec le nouveau style de quotes[JS] afficher le contenu d'un rep
[CSS] CSS unique et liaison depuis toutes les pages d'un site[Servlet|JSP]Plusieurs submit dans un formulaire
Comment on ajoute un champ dans une base de donnéesC++ Builder 6 et les bases de données ???
Génération de pages html - templates[Delphi] Afficher l'heure sans faire un truc lourd...
Plus de sujets relatifs à : Afficher des données dynamiques sur plusieurs pages


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR