8797 sujets

Développement web côté serveur, CMS

Bonjour,

voilà mon problème :

J'ai deux tables dans ma BDD :

TABLE1
upload/44484-table1.jpg

TABLE2
upload/44484-table2.jpg


et voici le code en php:


<?php
	$db = mysql_connect('127.0.0.1', 'root', '');
	mysql_select_db('test',$db);
	$sql = 'SELECT *
			FROM table2
			INNER JOIN table1
			ON table2.NumNews = table1.id';

	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
					
	$old=null;		
				
	while ($data = mysql_fetch_assoc($req)) {
		
	if ($old === null) {

	$old = $data['NumNews'];
?>	
	
<div class="news">
	<div class="info_news">
		<?php
			echo $data['Date'];
			echo $data['TitreNews'];
			echo $data['TexteNews'];
			echo $data['SousTitre'];
		?>
	</div>
       
	<div class="diaporama_news">	   
		<ul id="Gallery<?php echo $data['NumNews']?>">Galery <?php echo $data['NumNews']?>
			<?php 
				}
				if($old != $data['id']){
			?>
		</ul>
	</div>
</div>

<div class="news">
	<div class="info_news">
		<?php
			echo $data['Date'];
			echo $data['TitreNews'];
			echo $data['TexteNews'];
			echo $data['SousTitre'];
		?>
	</div>
       
	<div class="diaporama_news">
		<ul id="Gallery<?php echo $data['NumNews']?>">Galery <?php echo $data['NumNews']?>
		
			<?php
				}
			?>
					
			<li><?php echo $data['PhotoMax']?><?php echo $data['PhotoMin']?><?php echo $data['Titre']?></li>
                        
						
			<?php
				}
			?>					
		</ul>               
	</div>       
</div>
	
<?php
	mysql_close();
?>



et voilà le résultat en image :

upload/44484-resu.png

Et pour terminer, voici mon problème :

la galerie1 s'affiche correctement, mais la seconde se divise en deux, alors qu'elle devrait avoir le même format que la première.

Je n'arrive pas à comprendre pourquoi mon code bug... Est-ce à cause de ma césure mal placée dans ma boucle ... ou encore est-ce parce qu'il faut ajouter une condition quelque part dans la boucle...
Cela fait plusieurs jour que je tente de résoudre ce mystère, et étant débutant en PHP et mySQL je suis perdu.

Quelqu'un aurait-il une solution à m'apporter ?? ( surtout que je pense que le problème est relativement simple pour des initiés.

Merci à tout ceux qui prendront le temps de lire mon problème et encore plus à ceux qui auront une réponse magique Smiley smile
Modifié par PixLS44 (28 Apr 2012 - 13:43)
Salut,
Dans ton deuxième if, rajoute :
$old = $data['NumNews'];

Car $old restait à 1 même quand $data['NumNews'] passait à 2.
It's WORK !!!!!

Ca me semblait bizarre de mettre $old = $data['NumNews'] après avoir dis que le $old devait être différent de $data['NumNews'], mais en y réfléchissant effectivement c'est logique.

Merci infiniment !!