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

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

jm
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Lun Déc 08, 2003 15:13

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

Message le Dim Mar 14, 2004 13:44

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.


mahefarivony
WRInaute accro
WRInaute accro
 
Messages: 11405
Inscription: Lun Oct 14, 2002 10:00

Message le Dim Mar 14, 2004 13:47

select * from table order by id_table desc limit 0,10

id_table en auto-increment evidemment

jm
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Lun Déc 08, 2003 15:13

Message le Dim Mar 14, 2004 13:50

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

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Dim Mar 14, 2004 13:51

... 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.

doom
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 155
Inscription: Dim Déc 21, 2003 19:37

Message le Dim Mar 14, 2004 14:30

Code: Tout sélectionner
<?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,

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Dim Mar 14, 2004 14:41

Quitte à commencer en copiant un code, autant copier un code propre:

Code: Tout sélectionner
$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.

doom
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 155
Inscription: Dim Déc 21, 2003 19:37

Message le Dim Mar 14, 2004 15:07

aK a écrit:Quitte à commencer en copiant un code, autant copier un code propre:

Code: Tout sélectionner
$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 ?


mahefarivony
WRInaute accro
WRInaute accro
 
Messages: 11405
Inscription: Lun Oct 14, 2002 10:00

Message le Dim Mar 14, 2004 15:11

doom a écrit: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 ;-)

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Dim Mar 14, 2004 15:26

doom a écrit: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.

doom
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 155
Inscription: Dim Déc 21, 2003 19:37

Message le Dim Mar 14, 2004 15:45

oui je suis tout a fait daccord daccord ac toi, je vais le changer direct :)

jm
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Lun Déc 08, 2003 15:13

Message le Lun Mar 15, 2004 13:55

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

Oubah
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 237
Inscription: Lun Mar 01, 2004 17:42

Message le Lun Mar 15, 2004 14:10

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...


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités