afficher une valeur maximale dans une table

tunimax

Nouveau WRInaute
bonsoir ,

j'ai une table s'appelle news (contient id,titre,description) je veux affiché la valeur maximale de id.ce code n'affiche rien

$req1=mysqli_query($connection,"select MAX(id) from news");
while ($reponse= mysqli_fetch_array($req1)) {
$res=$reponse['id'];
echo $res;}
 

indigene

WRInaute accro
Pourquoi faire un while alors que tu attends qu'une seule réponse ?

Ce n'est pas du sqli mais du mysql mais voici ce que je code :

Code:
   $qidmax = @mysql_query("
	SELECT max(a.id)
	FROM
		 `table_news` a
	WHERE 
  	    a.etat = 1
		");
		
	if ($qidmax) {
	    if (@mysql_num_rows($qidmax)) {    
	        $kresult = @mysql_fetch_array($qidmax); 
            $kmax = $kresult[0];
		}
		else {  
			$kmax = 0;
		}
	} else {    
		$kmax = 0;
	}

C'est pas non plus du code tip top super optimisé mais ça fonctionne. Il doit y avoir mieux je pense. Ceux qui veulent chipoter peuvent s'en donner à coeur joie.
Au passage ma clause where me permet d'éliminer les news qui ne sont pas à l'état "en ligne" pour avoir le numéro maximum du dernier article publié. Ca va me permettre ensuite de choisir un article au hasard dans la limite max des id d'articles en ligne.
 

niap

WRInaute discret
C'est normal.
Avec $res=$reponse['id']; tu cherche à accéder à la colonne id, mais dans ta requête tu ne sélectionne pas id.
Donc : SELECT MAX(id) as id FROM news et ça devrait le faire.
 

Discussions similaires

Haut