Problème de boucle et conditions en PHP/MySQL [Résolu/Fermé]

Signaler
-
 Utilisateur anonyme -
Bonjour à tous ! Je vous expose mon problème :

Je fais un petit journal sur mon site, j'ai des articles qui sont dans une base de données et pour chaque article, il y a un lien vers celui-ci dans un menu déroulant en CSS.
Pour le moment, j'affiche les articles du menu déroulant en HTML et j'aimerais automatisé cela.
Je pense avoir trouvé la solution mais le problème c'est que j'ai des conditions dans ma boucle qui doit afficher ces articles et j'ai l'impression que ces conditions sont mal interprétées.
Je connais le nombre d'articles, le nombre de pages nécessaires pour tous les afficher, le nombre d'article par pages et le numéro de la page affichée.

Voici mon code:
                        $a = 1; //Numéro de page (pas celle affichée)
			$incr = 0; //Variable d'incrémentation
			while($row = mysql_fetch_assoc($sql)) //Tant qu'on a des articles
			{
				$id = $row['id'];
				$nom = $row['nom'];
				if($incr = $nombreDeMessagesParPage){$a++;$incr=0;}  
				if($a = $p) echo "<li><a href=\"#$id\">$nom</a></li>";
				else echo "<li><a href=\"?p=$a#$id\">$nom</a></li>";
				$incr++;
			}
                       

Les conditions sont interprétées comme si le code été:
$incr = $nombreDeMessagesParPage;
et
$a= $p;

Pourtant je suis sûr qu'il n'y a aucune erreur dans ces conditions.

J'espère avoir été assez clair.
J'aimerais savoir pourquoi ce code ne fonctionne pas et comment faire pour qu'il fonctionne.
Merci d'avance.

2 réponses

Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
876
sans rentrer dans le détail du code je vois déja deux erreurs


....
if($incr = $nombreDeMessagesParPage){$a++;$incr=0;}
if($a = $p)....


pour un test dégalité il faut == et pas =

Au mais oui que suis-je bête ! Merci ! Les conditions fonctionnent. A partir de maintenant je vais bien mettre 2 "==" et non pas juste "=" ^^.