Détecter le dernier retour de mysql_fetch_array
                                    
                        leuntout                    
                                    -
                                     
CptRomaiin Messages postés 334 Statut Membre -
        CptRomaiin Messages postés 334 Statut Membre -
        Bonjour, 
je viens vous demander un coup de pouce pour un petit truc que je n'arrive pas à faire :
Dans mon programme php, je récupère les 3 dernières entrées de ma BDD et je les affiche sur une page avec un While. Jusque là rien de compliqué. Mais mon css est fait de sorte qu'au 3ème bloc, je dois changer la classe pour indiquer que c'est le dernier.
Je souhaite donc en PHP pouvoir identifier quand c'est le 3ème retour (le dernier) pour mettre un IF et changer ma classe CSS... je ne sais pas si c'est clair...
Le code :
Merci de votre aide.
                
            
                
    
    
    
        je viens vous demander un coup de pouce pour un petit truc que je n'arrive pas à faire :
Dans mon programme php, je récupère les 3 dernières entrées de ma BDD et je les affiche sur une page avec un While. Jusque là rien de compliqué. Mais mon css est fait de sorte qu'au 3ème bloc, je dois changer la classe pour indiquer que c'est le dernier.
Je souhaite donc en PHP pouvoir identifier quand c'est le 3ème retour (le dernier) pour mettre un IF et changer ma classe CSS... je ne sais pas si c'est clair...
Le code :
$liste = mysql_query("SELECT * FROM contenu ORDER BY id DESC LIMIT 3");
while($affiche = mysql_fetch_array($liste))
{          
if "c'est le dernier retour"
{
  ?>
  <div class="dernier_block">
  <?php
}
else //bloc normal pour les 2 premiers retours
{
?> <div class="block">
<?php
}
?> 
    <h2><?php echo $affiche['titre'] ?></h2>
    <h5>dans <?php echo $affiche['catégorie'] ?></h5>
    <p><?php echo $affiche['description'] ?></p>
    </div>
<?php
}
?>
Merci de votre aide.
        A voir également:         
- Détecter le dernier retour de mysql_fetch_array
- Comment détecter un traceur sur téléphone - Accueil - Confidentialité
- Le dernier iphone - Guide
- Retour à la ligne excel - Guide
- Détecter clé usb - Guide
- Retour à la ligne chatgpt - Forum Réseaux sociaux
3 réponses
                        
                    Bonjour,
Tu peux enregistrer les données dans une variable que tu écrases à chaque tour, en sortie de boucle, c'est seulement la dernière donnée qui est présente.
                
                
    
                Tu peux enregistrer les données dans une variable que tu écrases à chaque tour, en sortie de boucle, c'est seulement la dernière donnée qui est présente.
                        
                    Salut,
Une solution parmi d'autres serait de récupérer le nombre de lignes renvoyées par ta requête et d'utiliser un index pour savoir si on a atteint ou pas la dernière ligne dans ta boucle :
    
                Une solution parmi d'autres serait de récupérer le nombre de lignes renvoyées par ta requête et d'utiliser un index pour savoir si on a atteint ou pas la dernière ligne dans ta boucle :
$liste = mysql_query("SELECT * FROM contenu ORDER BY id DESC LIMIT 3");
$nombreEnregistrements = mysql_num_rows($liste);
$index = 1;
while($affiche = mysql_fetch_array($liste))
{
	if ($index == $nombreEnregistrements) 
	{
		echo "<div class='dernier_block'>";
	}
	else //bloc normal pour les 2 premiers retours
	{
		echo "<div class='block'>";
	}
 
	echo "<h2>" . $affiche['titre'] . "</h2>";
	echo "<h5>dans " . $affiche['catégorie'] . "</h5>";
	echo "<p>" . $affiche['description'] . "</p>";
	echo "</div>";
    
    $index++;
}
                
                