Afficher les 10 derniere insert d'une table Mysql avec php ?

J
jm
Guest
Comment faire ?

j'essai d'afficher les dix derniere lignes d'une table en php Mysql y-a-t'il une commende speciale ou faut-il faire une fonction soit meme... j'ai beau retourner la question dans ma tete et sur le papier j'arive pas a trouver la logique???

pourtant je penses que c'est une fonction banale ! wllw doit surement exister? non ?

quelqu'un aurrait-il une solution?

bon c'est vraie je suis pas super fute !

Merci
JM.
 
J
jm
Guest
Grand merci a toi Mahefarivony, je m'en vais essayer ca tout de suite...
moi qui parter avec de conpte moi si et compte moi ca svp Mysql...

Donc je supose que meme si une ligne a etait suprimer le retour et bien gerer...

Je vais essayer tres vite.

Merci beacoup. JM
 
WRInaute passionné
... en précisant bien entendu qu'il est plus économique en ressources de ne sélectionner que les champs nécessaires et non tous (*).

aK.
 
WRInaute discret
Code:
<?php 
require("config.php"); 
if($link=mySql_connect($hote,$identifiant,$mot_de_passe)) 
{ 
   if(mySql_select_db($nom_db,$link)) 
   { 
      $query = "SELECT * FROM table ORDER BY champ DESC LIMIT 10"; 
      if($result= mySql_query($query,$link)) 
         { 
            
            $i=1; 
            while ($temp=mysql_fetch_array($result)) 
            { 
               echo " ".$temp["champ"]."<br>"; 
               //où champest le nom du champ que tu veux afficher 
               $i++; 
            } 

      } 
   } 
} 

?>

voila le code complet, ou config.php est ton fichier config contenant les infos de connec sql,
 
WRInaute passionné
Quitte à commencer en copiant un code, autant copier un code propre:

Code:
$req = mysql_query("select id, champ1, champ2 from table order by id_table desc limit 0,10") or die( 'Erreur '.$req.'<br>'.mysql_error() );

 while ( $row = mysql_fetch_row( $req ) )
{
  echo "$row[0] - $row[1] - $row[2]<br>";
};

A partir de là, tu devrais pouvoir comprendre ce qui se passe et arranger ça à ta sauce.
En modifiant id, champ1 et champ2 par des champs de ta table, ainsi que le nom de ta table, bien entendu.

aK.
 
WRInaute discret
aK a dit:
Quitte à commencer en copiant un code, autant copier un code propre:

Code:
$req = mysql_query("select id, champ1, champ2 from table order by id_table desc limit 0,10") or die( 'Erreur '.$req.'<br>'.mysql_error() );

 while ( $row = mysql_fetch_row( $req ) )
{
  echo "$row[0] - $row[1] - $row[2]<br>";
};

A partir de là, tu devrais pouvoir comprendre ce qui se passe et arranger ça à ta sauce.
En modifiant id, champ1 et champ2 par des champs de ta table, ainsi que le nom de ta table, bien entendu.

aK.

non mais auwe, on insulte pas mes codes, mais ca c'est vu ou ca ??

lol,
nan serieu, il est mal fait? c pas moi qui l'ai fait, et je l utilise, ca fait quoi si il est pas bien fait? ralentissement ?
 
WRInaute accro
doom a dit:
ca fait quoi si il est pas bien fait? ralentissement ?

ak a raison, imagine que tes 600 (ou 6000) "colocataires" sur le serveur mutualisé sur lequel tu es hebergé font du code "pas bien fait", a la longue, les perfs s'en ressentent ;-)
 
WRInaute passionné
doom a dit:
lol, nan serieu, il est mal fait? c pas moi qui l'ai fait, et je l utilise, ca fait quoi si il est pas bien fait? ralentissement ?

:lol: sorry d'avoir critiqué ton code, qui est sûrement un chef d'oeuvre baroque à préserver ;-)

Disons que le code que j'ai donné a l'avantage d'être compréhensible par n'importe qui qui a des notions d'anglais, alors que ton code bourré d'accolades me semble illisible pour un néophyte. En plus, mon code est plus concis et plus rapide, pas tellement pour celui qui utilise le code, mais comme l'a dit mahé pour ceux qui partagent ton mutualisé. Les petits ruisseaux font les grandes rivières, c'est censé être un proverbe "positif", mais ça peut aussi se retourner contre soi.

aK.
 
J
jm
Guest
Merci ...

La ca y est j'y suis arrive...

c'est sympa.

puisque vous parler de code propre quelle est la difference entre

$req = mysql_query("select id, champ1, champ2 from table order by id_table desc limit 0,10") or die( 'Erreur '.$req.'<br>'.mysql_error() );

while ( $row = mysql_fetch_row( $req ) )
{
echo "$row[0] - $row[1] - $row[2]<br>";
};

et...

$req = mysql_query("select id, champ1, champ2 from table order by id_table desc limit 0,10") or die( 'Erreur '.$req.'<br>'.mysql_error() );

while ( $row = mysql_fetch_assoc( $req ) )
{
echo "$row[id] - $row[champ1] - $row[champ1]<br>";
};


Je ne comprends pas la diffrence s'il y en a une?
Le resultat m'a l'air le meme !
est-ce mieux de d'utiliser l'un plutot que l'autre dans certains cas ou est-ce une question de gout???

le-quel est le plus propre?

Merci JM
 
WRInaute discret
une des différences est que tu n'as pas besoin de regarder ta requete pour voir les champs que t'affiche dans ton code.
row[1],row[2],row[3] c'est lplutot abstrait par rapport a row["nom"], etc. :)

pour fetvh_assoc, je sais pas :)

Maintenant, en terme de rapidité, je n'en sais rien...
 
Discussions similaires
Haut