[Réglé] Listing d'un champ nombre dans l'ordre décroissant

WRInaute discret
lu all,
voila, mon site référence les films dernierement sortis dans les salles, et propose de télécharger leur bande annonce.
les films sont listés par ordre croissant selon leur id (dans ma table sql, il y a une table film et une table statistique, et ces 2 tables ont un champ id avec auto_increment)
donc les films sont listés par ordre croissant de leur id, donc les films les plus récents sont classés à la fin,

et moi, j'aimerais que les derniers films ajoutrés apparauissent en début de page, donc que les films soient classés dans l'ordre inverse de leur id.

voici ma page index.php

Code:
<?php require("param.php"); ?>
<?php if(!isset($_GET['limit'])){
$limit=0;
}
else { $limit = $_GET['limit']; }
if(!isset($_GET['number'])){
$number=10;
}
else { $number = $_GET['number']; }

?>
<?php 
require("param.php");
if($link=mySql_connect($hote,$identifiant,$mot_de_passe)){
	
	if(mySql_select_db($nom_db,$link)){
	
	$query = "SELECT * FROM film LEFT JOIN statistique ON film.id =statistique.id";
		
		if($result= mySql_query($query,$link)){
			
			

?>

<?php 
$count=0;
if($link=mySql_connect($hote,$identifiant,$mot_de_passe)){
	if(mySql_select_db($nom_db,$link)){

	$query = "SELECT * FROM film LEFT JOIN statistique ON film.id =statistique.id";
		if($result= mySql_query($query,$link)){
			while($ligne = mySql_fetch_object($result)){
			$film[0]=$ligne->titre;
			$film[1]=$ligne->description;
			$film[2]=$ligne->image;
			$film[3]=$ligne->torrent;
			$film[4]=$ligne->edonkey;
			$film[5]=$ligne->id;
			$film[6]=$ligne->nombre_telechar;
			$film[7]=$ligne->emule;
			$films[$count]= $film;
			$count++;
			
				}
			
			}else{ echo "<h1>PB 3</h1>";}
	
	}else{ echo "<h1>PB 2</h1>";}


}else{ echo "<h1>PB 1</h1>";}

			
?>
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p align="center"> 
  <?php 
	if($limit+$number <= count($films)){
	$max=$limit+$number;
	}else{$max=count($films);}
	
	if($limit <= 0){
	$limit=0;
	$visible_precedent=false;
	}else{$visible_precedent=true;}
	
	$limit_suivant=$limit+$number;
	$limit_precedent=$limit-$number;
	
	if($limit >= count($films)){$visible_suivant=false;}else{$visible_suivant=true;}
	
  for($i=$limit;$i < $max;$i++){
  	$filmi=$films[$i];
  	
  
   ?>
</p>
<table width="94%" border="0" cellspacing="0">
  <tr> 
    <td><div align="center"><font color="#000066"><em><font color="#000066" size="2">Format 
        :</font> <br>
        <?php echo "$filmi[4]"; ?> </em></font></div></td>
    <td><div align="center"><font color="#000066"><?php echo "<a href=\"./download.php?id=$filmi[5]\">"; ?><?php echo "$filmi[0]"; ?></font></div></td>
  </tr>
  <tr> 
    <td width="18%"><div align="center"><font color="#FFFFFF"><em><?php echo "<img src=\"http://freedzinesupport.free.fr/emule/films/image/$filmi[2]\" width=\"120\" height=\"160\">" ;?></em></font></div></td>
    <td width="82%"><p align="justify"><font color="#000066" size="1"><?php echo $filmi[1]; ?></font></p>
      <font color="#000066"><strong> </strong><font size="3"><?php echo "<a href=\"./download.php?id=$filmi[5]\">"; ?><font face="Times New Roman, Times, serif"><font size="3" face="Georgia, Times New Roman, Times, serif">T&l&charger 
      la bande annonce<br>
      Film t&l&charg& <?php echo $filmi[6]; ?> fois</font><font face="Times New Roman, Times, serif"> 
      </font><em><font size="2"><br>
      <br>
      </font></em></font>
      <p></p>
      </font></font></td>
  </tr>
  <tr> 
    <td bgcolor="#000033">&</td>
    <td bgcolor="#000033">&</td>
  </tr>
</table>
<p> 
  <?php }?>
  <?php 
					
				}else{echo "pb2";}
			}else{echo "pb3";}
		}else{echo "pb4";}

 ?>
</p>
</body>
</html>

merci d'avance de votre aide :)
 
WRInaute passionné
Regarde dans la DOC mysql le "ORDER BY", tu y apprendras les différents classements faisables.

Tu n'as pas l'air d'avoir suivi les conseils que nombre d'entre nous t'avons donné ici: lire la documentation pour comprendre le code que tu prends à gauche et à droite.

Tu ne pourras pas avancer si tu continues à "coder" comme ça. On n'apprend pas à lire en recopiant l'annuaire téléphonique. Lis au moins les articles principaux de phpinfo.net. Ca prend 20-30 minutes...

Tu n'as même pas tenu compte de ma remarque concernant les balises que tu fermes et ouvres sans aucune nécessité.

aK.
 
WRInaute discret
je sais, j' ai cherché et je n'ai pas trouvé,
je sais qu'il faut mettre un DESC LIMIT

mais comment ? j'ai tout essayé je n'y suis pas parvenu

Code:
SELECT * FROM film LEFT JOIN statistique ON film.id =statistique.id



pour ce qui est de mon script( que je n'ai aps programmé) et bien je n'ai pas eu le temps de le faire mais je vais m en charger. mais là n'est pas le problème, ...
 
WRInaute impliqué
C'est un peu du n'importe quoi ce code...
Mais bon pour faire un tri par ordre decroissant c'est :

order by [colonne] desc

Par defaut c'est asc.

Après je suis tout à faire d'accord avec ak pour le reste.
 
WRInaute passionné
Tu sais, doom, sur WRI ce n'est pas vraiment le cas, mais sur la plupart des forums de webmasters personne ne répond quand une question n'est pas accompagnée d'un bonjour et d'un merci. La poilitesse est aussi de mise sur le web, et ceux qui aident n'aiment pas avoir l'impression qu'on les utilise comme une hotline gratuite...

Quand à savoir où mettre le ORDER BY, si tu avais lu et appliqué mes conseils et ceux des autres membres, tu aurais pris 20 minutes pour lire cet article (par exemple... il en existe des centaines d'autres, car c'est la base de mysql)
http://www.phpinfo.net/articles/article_mysql.html

Tu es bloqué depuis 3 heures uniquement parce que tu veux la réponse ici plutôt que là où elle existe. C'est une erreur et tu ferais bien de t'en rendre compte.

Quant à dire "je sais, j'ai cherché et je n'ai pas trouvé"... no comment.

aK.
 
WRInaute discret
dans ous mes autres posts, tout le monde pourra s'apercevoir que je suis tres poli, a chaque reply je remercié qu'ont m'ai aidé,
la c'est vrai j'ai oublié de dire emrci et aurevoir, je pensait qu'apres avoir collé la source de ma page c'était fini :) dsl sur ce point, j'édite le mesage

pour l'autre, je n'étais pas allé voir sur la page que tu me dis, j'y vaus toiut de suite et je vs tient au courant!

a toutes
 
WRInaute discret
c'est bon j'ai trouvé :)
encore merci pr le lien ak!

il suffisait de mettre
Code:
$query = "SELECT * FROM film LEFT JOIN statistique ON film.id =statistique.id ORDER BY film.id DESC LIMIT 999";

encore thx, a+!
 
Discussions similaires
Haut