Compteur de page !

Compteur de page ! - PHP - Programmation

Marsh Posté le 08-12-2002 à 18:18:53    

Voila je voudrait apprendre un ptit truc qui m'avait l'ai facile, mais en fait nan :wahoo:  
Voila je voudrait afficher une liste d'utilisateur sur plusieurs page s'il yen  a bcp
 
J'ai donc pondu un ptit code et je voudrait savoir
 
1- d'ou vient l'erreur

Parse error: parse error, unexpected T_INC, expecting ')' in user_list.php on line 44


 
2- si ca peu marche :/
 
Je voudrai (pour els tests) affichier un seul nom par page pour apprendre a gerer le truc
Voila mon code
 


//nbr de page
$que='Select id from User';
$req = mysql_query($que);
$user = mysql_numrows($req);
$max_user_page='1';
$nbr_page=$user/$max_user_page;
$nombre_total = ceil($nbr_page);
$nbr_final=$nombre_total-1;
 
//fin du nbr de page


plus bas

//lien des pages
for ($i=1; $i==$nbr_final; i++)
 {
  $suivant = $i + 1;  
  $precedent= $suivant -1;
  echo '<a href="affichage.php?numero_page='.$suivant.'">Page suivante</a>';  
  echo '<a href="affichage.php?numero_page='.$precedent.'">Page précédente</a>';
 }
 
 echo "</tr></center>";
 //fin des page


merci bien

Reply

Marsh Posté le 08-12-2002 à 18:18:53   

Reply

Marsh Posté le 08-12-2002 à 19:31:28    

chacal_one333 a écrit :

Voila je voudrait apprendre un ptit truc qui m'avait l'ai facile, mais en fait nan :wahoo:  
Voila je voudrait afficher une liste d'utilisateur sur plusieurs page s'il yen  a bcp
 
J'ai donc pondu un ptit code et je voudrait savoir
 
1- d'ou vient l'erreur

Parse error: parse error, unexpected T_INC, expecting ')' in user_list.php on line 44


 
2- si ca peu marche :/
 
Je voudrai (pour els tests) affichier un seul nom par page pour apprendre a gerer le truc
Voila mon code
 


//nbr de page
$que='Select id from User';
$req = mysql_query($que);
$user = mysql_numrows($req);
$max_user_page='1';
$nbr_page=$user/$max_user_page;
$nombre_total = ceil($nbr_page);
$nbr_final=$nombre_total-1;
 
//fin du nbr de page


plus bas

//lien des pages
for ($i=1; $i==$nbr_final; i++)
 {
  $suivant = $i + 1;  
  $precedent= $suivant -1;
  echo '<a href="affichage.php?numero_page='.$suivant.'">Page suivante</a>';  
  echo '<a href="affichage.php?numero_page='.$precedent.'">Page précédente</a>';
 }
 
 echo "</tr></center>";
 //fin des page


merci bien

Et la ligne 44, c'est laquelle?
PS : Lit le message, t'as un " )" en trop ou manquant quelque part.


Message édité par omega2 le 08-12-2002 à 19:31:55
Reply

Marsh Posté le 08-12-2002 à 19:34:09    

vi je sais mais la ligne 44 c'est la lige du for [:spamafote]

Reply

Marsh Posté le 08-12-2002 à 19:38:57    

chacal_one333 a écrit :

vi je sais mais la ligne 44 c'est la lige du for [:spamafote]

Et dans les 2-3 lignes qui précède le for, t'as quoi? L'erreur peut venir de là.

Reply

Marsh Posté le 08-12-2002 à 19:40:18    

vla le fichier tel quel
 

<? include("menu_principal.php" ) ?>
<td bgcolor="#E8E8E8" align=right style="width:350px;">
<?php
//connection
require("connect.php" );
$connect=mysql_connect(SERVEUR, NOM, PASSE);
mysql_select_db(BASE, $connect);
 
//nbr de page
$que='Select id from User';
$req = mysql_query($que);
$user = mysql_numrows($req);
$max_user_page='1';
$nbr_page=$user/$max_user_page;
$nombre_total = ceil($nbr_page);
$nbr_final=$nombre_total-1;
 
//fin du nbr de page
 
 
 
 
 
$req='SELECT * FROM User';
$que=mysql_query($req) or die('Erreur SQL ! "<br>'.$sql.'"<br>'.mysql_error());  
echo "<center>";
echo "Registered's list<p>";
echo '<table><tr><th align=center style="width:100px;">Nickname</th>
  </tr><tr>';
while ($res=mysql_fetch_array($que))
 {
  echo '<td align="center"><a href="mailto:'.$res['mail'].'">'.$res['pseudo'].'</a></td></tr>';
 }
 echo "<center>";
 
 
 
 //lien des pages
for ($i=1; $i==$nbr_final; i++)
 {
  $suivant = $i + 1;  
  $precedent= $suivant -1;
  echo '<a href="affichage.php?numero_page='.$suivant.'">Page suivante</a>';  
  echo '<a href="affichage.php?numero_page='.$precedent.'">Page précédente</a>';
 }
 
 echo "</tr></center>";
 //fin des page
 
mysql_close();
 
 
 
 
 include("bas.php" ) ?>

Reply

Marsh Posté le 08-12-2002 à 19:46:37    

chacal_one333 a écrit :

vla le fichier tel quel
 

<? include("menu_principal.php" ) ?>
<td bgcolor="#E8E8E8" align=right style="width:350px;">
<?php
//connection
require("connect.php" );
$connect=mysql_connect(SERVEUR, NOM, PASSE);
mysql_select_db(BASE, $connect);
 
//nbr de page
$que='Select id from User';
$req = mysql_query($que);
$user = mysql_numrows($req);
$max_user_page='1';
$nbr_page=$user/$max_user_page;
$nombre_total = ceil($nbr_page);
$nbr_final=$nombre_total-1;
 
//fin du nbr de page
 
 
 
 
 
$req='SELECT * FROM User';
$que=mysql_query($req) or die('Erreur SQL ! "<br>'.$sql.'"<br>'.mysql_error());  
echo "<center>";
echo "Registered's list<p>";
echo '<table><tr><th align=center style="width:100px;">Nickname</th>
  </tr><tr>';
while ($res=mysql_fetch_array($que))
 {
  echo '<td align="center"><a href="mailto:'.$res['mail'].'">'.$res['pseudo'].'</a></td></tr>';
 }
 echo "<center>";
 
 
 
 //lien des pages
for ($i=1; $i==$nbr_final; i++)
 {
  $suivant = $i + 1;  
  $precedent= $suivant -1;
  echo '<a href="affichage.php?numero_page='.$suivant.'">Page suivante</a>';  
  echo '<a href="affichage.php?numero_page='.$precedent.'">Page précédente</a>';
 }
 
 echo "</tr></center>";
 //fin des page
 
mysql_close();
 
 
 
 
 include("bas.php" ) ?>



Là, je vois aps ce qui cloche, par contre, tu dois pas y rentré souvant dans le "for". ;)

Reply

Marsh Posté le 08-12-2002 à 20:01:08    

je sais pas du tout :lol:
 
j'ai pondu ca avec mon peu d'Xp (1 semaine :/)
En fait je veut un truc ou sur chak page (associé a un n° linké corresponde un tablo de nom
 
comme ca forum avec 20sujet/page moi jveut 1user par page :)

Reply

Marsh Posté le 09-12-2002 à 00:29:38    

for ($i=1; $i<=$nbr_final; $i++)


Message édité par Hermes le Messager le 09-12-2002 à 00:36:50
Reply

Marsh Posté le 09-12-2002 à 09:38:16    

vi j'ai corrigé mais il en veut tjr pas m'afficher plusieurs page
 

//nbr de page
$que='Select id from User';
$req = mysql_query($que);
$user = mysql_numrows($req);
$max_user_page="1";
$nbr_page=$user/$max_user_page;
$nombre_total = ceil($nbr_page);
$nbr_final=$nombre_total-1;
 
//fin du nbr de page
 
 
 
 
 
$req='SELECT * FROM User';
$que=mysql_query($req) or die('Erreur SQL ! "<br>'.$sql.'"<br>'.mysql_error());  
echo "<center>";
echo "Registered's list<p>";
echo '<table><tr><th align=center style="width:100px;">Nickname</th>
  </tr><tr>';
while ($res=mysql_fetch_array($que))
 {
  echo '<td align="center"><a href="mailto:'.$res['mail'].'">'.$res['pseudo'].'</a></td></tr>';
 }
 echo "<center>";
 
 
 
 //lien des pages
for ($i=1; $i<=$nbr_final; $i++)
 {
  $suivant = $i + 1;  
  $precedent= $i -1;
 
 }
echo '<a href="affichage.php?numero_page='.$suivant.'">Page suivante</a>';  
echo '<a href="affichage.php?numero_page='.$precedent.'">Page précédente</a>';
 
 echo "</tr></center>";
 //fin des page
 
mysql_close();

il m'affiche tout les nom sur une page et il em met les lien page precedente et suivante mais ceux ci ne sont aps valides :/

Reply

Marsh Posté le 09-12-2002 à 10:30:56    

Code :
  1. for ($i=1; $i<=$nbr_final; $i++)
  2. {
  3. $suivant = $i + 1; 
  4. $precedent= $i -1;
  5. echo '<a href="affichage.php?numero_page='.$suivant.'">Page suivante</a>'; 
  6. echo '<a href="affichage.php?numero_page='.$precedent.'">Page précédente</a>';
  7. }


 

Reply

Marsh Posté le 09-12-2002 à 10:30:56   

Reply

Marsh Posté le 09-12-2002 à 10:32:55    

chacal_one333 a écrit :

vi j'ai corrigé mais il en veut tjr pas m'afficher plusieurs page
 

//nbr de page
$que='Select id from User';
$req = mysql_query($que);
$user = mysql_numrows($req);
$max_user_page="1";
$nbr_page=$user/$max_user_page;
$nombre_total = ceil($nbr_page);
$nbr_final=$nombre_total-1;
 
//fin du nbr de page
 
 
 
 
 
$req='SELECT * FROM User';
$que=mysql_query($req) or die('Erreur SQL ! "<br>'.$sql.'"<br>'.mysql_error());  
echo "<center>";
echo "Registered's list<p>";
echo '<table><tr><th align=center style="width:100px;">Nickname</th>
  </tr><tr>';
while ($res=mysql_fetch_array($que))
 {
  echo '<td align="center"><a href="mailto:'.$res['mail'].'">'.$res['pseudo'].'</a></td></tr>';
 }
 echo "<center>";
 
 
 
 //lien des pages
for ($i=1; $i<=$nbr_final; $i++)
 {
  $suivant = $i + 1;  
  $precedent= $i -1;
 
 }
echo '<a href="affichage.php?numero_page='.$suivant.'">Page suivante</a>';  
echo '<a href="affichage.php?numero_page='.$precedent.'">Page précédente</a>';
 
 echo "</tr></center>";
 //fin des page
 
mysql_close();

il m'affiche tout les nom sur une page et il em met les lien page precedente et suivante mais ceux ci ne sont aps valides :/

Relit ton code, est ce que tu vois un seul endroit où tu dis à ton programme de ne pas retourner tout les user?
De plus est ce qu'à un seul endroit du programme tu lui dis a partir de quel user il doit commencer à les retourner?
 
Moi, j'ai pas vu. ;)
Au début, tu calcules le nombre de page théorique qu'il te faudrait pour tout affiché et ensuite, tu oublis que tu fais un traitement par lot (bref, ensuite, tu prends tout).

Reply

Marsh Posté le 09-12-2002 à 10:32:56    

:non:  :non:  
 
en fesant ca il m'affiche plusieurs fois page suivante et page precedente !

Reply

Marsh Posté le 09-12-2002 à 10:40:47    

Code :
  1. $req='SELECT mail,pseudo FROM User';
  2. $que=mysql_query($req) or die('Erreur SQL ! "<br>'.$sql.'"<br>'.mysql_error()); 
  3. echo "<center>";
  4. echo "Registered's list<p>";
  5. echo '<table><tr><th align=center style="width:100px;">Nickname</th>
  6. </tr><tr>';
  7. while ($res=mysql_fetch_array($que))
  8. {
  9. echo '<td align="center"><a href="mailto:'.$data['mail'].'">'.$data['pseudo'].'</a></td></tr>';
  10. }
  11. echo "<center>";


Message édité par Hermes le Messager le 09-12-2002 à 10:42:43
Reply

Marsh Posté le 09-12-2002 à 10:44:48    

pourquoi tu met un $data alros que mon fetch est $res :??:

Reply

Marsh Posté le 09-12-2002 à 10:45:36    

ca ca marche tres bien en plus
 
ca m'affiche bien le mail sur le pseudo
 
le probleme vient des page.
je veut un user par page :/

Reply

Marsh Posté le 09-12-2002 à 10:52:23    

Code :
  1. $req='SELECT mail,pseudo FROM User WHERE condition (ex: pseudo="marc" ) ';

Reply

Marsh Posté le 09-12-2002 à 10:53:58    

jcroit que a pas compris ce que je veut faire :/

Reply

Marsh Posté le 09-12-2002 à 10:55:37    

chacal_one333 a écrit :

jcroit que a pas compris ce que je veut faire :/


 
Ben si tu veux un user qui s'affiche par page, il faut que tu définisse QUEL user, donc il faut retourner UNIQUEMENT l'enregistrement concerné, non ?

Reply

Marsh Posté le 09-12-2002 à 11:03:18    

nana jm'en fou qui est l'user :/
 
en fait je pourrait en mettre 50/page apres mais la c'est pour appprendre et vu que j'ai juste 3 enregisté ;)

Reply

Marsh Posté le 09-12-2002 à 11:04:21    

Ré-expliques donc clairement ce que tu veux faire alors, parce que je crois que personne ne comprend exactement ce que tu veux.

Reply

Marsh Posté le 09-12-2002 à 11:06:20    

:lol: dsl
 
Bon alors j'ai 3 utilisateurs enregisté dans ma Db.
j'ai fait un page ou est affiché dans un table le nom des utilisateur avec leur mail associé.
Cependant j'ai fait un site avec une hauteur fixe donc je ne veut pas que si j'ai 100 utilisateur ca me deregle toute mes longeurs.
Donc je veut associé un certain nombre de personne (peu importe qui c'est) par page pour pas niquer ma mise en page
 
j'espere que ta comrpis :)

Reply

Marsh Posté le 09-12-2002 à 11:09:09    

Bon ok, c'est très simple :
 
$que='Select id from User LIMIT 1,10';
 
Affichera les 10 premiers enregistrements.
 
Donc en utilisant une variable $a par exemple :
 
$a = 1;
 
$que='Select id from User LIMIT $a,10';
 
ensuite, tu incrémentes $a de 10. et tu recommences. (faut faire un for ou une boucle).
 
A chaque page, tu auras donc les 10 enregistrements suivants.

Reply

Marsh Posté le 09-12-2002 à 11:11:12    

merci je vais voir ca :wahoo:

Reply

Marsh Posté le 09-12-2002 à 14:07:23    

moi, je fait ça pour faire un compteur de pages :  
 

Code :
  1. <? 
  2.     /* décompte du nombre d'entrées dans ma base */
  3.     $querycount="select count(id) from v5_news";
  4.     $resultcount=mysql_query("$querycount" );
  5.     $count=mysql_fetch_array($resultcount);
  6.    
  7.     /* Gestion des pages */
  8.     $limit="5";
  9.     if(!$start){$start="0";}
  10.     $next=$start-$limit;
  11.     $prev=$start+$limit;
  12.    
  13.     /* Condition d'affichage de next et prev */
  14.     /* Si pas d'enregistrement avant ou après les enregistrements en cours, alors, affichage=disable_pics */
  15.     if ($next<0){$picnext="next-off";$linknext1="";$linknext2="";} else {$picnext="next-on";$linknext1="<a href=\"index.php?id=0&start=".$next."\">";$linknext2="</a>";}
  16.     if ($prev>=$count[0]){$picprev="prev-off";$linkprev1="";$linkprev2="";} else {$picprev="prev-on";$linkprev1="<a href=\"index.php?id=0&start=".$prev."\">";$linkprev2="</a>";}
  17.     /* affichage de suivant/précédent */
  18.     echo "
  19.     <td class=\"td-news-prev\">$linkprev1<img src=\"img/news/".$picprev.".png\" class=\"img-link\" alt=\"news précédentes\" />$linkprev2</td>
  20.     <td class=\"td-news-next\">$linknext1<img src=\"img/news/".$picnext.".png\" class=\"img-link\" alt=\"news suivantes\" />$linknext2</td>
  21.     ";
  22. ?>


 
bien sur, rien n'empêche d'ajouter des condition sur le count(id)

Reply

Marsh Posté le 09-12-2002 à 14:12:58    

ca sert a quoi un count id?
 
le compter le nombre d'id enregistré?

Reply

Marsh Posté le 09-12-2002 à 14:27:33    

chacal_one333 a écrit :

ca sert a quoi un count id?
 
le compter le nombre d'id enregistré?


 
ça compte le nombre de résultats correspondant à ta requête (si tant est que tu est un champ 'id' dans ta base sql...)
 
tu peut très bien faire un

select count(ville) form annuraire where ville like'%A'

pour connaitre le nombre de ville qui se trouvent dans ta base et qui commencent par 'A'

Reply

Marsh Posté le 09-12-2002 à 14:27:51    

:jap:  :wahoo:

Reply

Marsh Posté le 09-12-2002 à 14:45:53    

hum pas facile d'adapter ton systeme de news avec els img j'ai du mal la :/
 
debutant represent :'(

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed