Code en fonction d'une valeur

Résolu/Fermé
Ghost-Rider-96 - 29 juin 2013 à 19:32
 Ghost-Rider-96 - 30 juin 2013 à 13:17
Bonjour,

Je souhaite afficher des bannières de serveur (gametracker) en deux colones (gauche et droite)

je rentre dans un formulaire les informations nécessaire dont position qui est soit droite soit gauche, ainsi que le code pour la bannière etc ...

j'ai actuellement ce code php :

<div id="contener">	
	
						<?php
						/*
						Connexion à la BDD
						*/
						require "../include/config.php";
						mysql_connect($adresse, $nom, $motdepasse);
						mysql_select_db($database);
											
						$sql = 'SELECT * FROM serveurs ORDER BY id DESC';
						$req = mysql_query($sql) or die(mysql_error());
						
						
						while($data = mysql_fetch_assoc($req)){
						?>					
						
							<div class="<?php echo stripslashes($data['position']);?>">
							<b>Nom</b> : 		<?php echo stripslashes($data['nom']);?></br>
								<?php echo stripslashes($data['script']);?>
								<div id="content-text">									
										<div id="print-this">
												<span class="titre_txt">
												<?php echo stripslashes($data['miniature']);?><!-- texte qui fait dérouler -->
												<img class="deroul_img" src="img/agrandir.gif" alt="Développer" style="vertical-align:middle"/></br>
												</span> 
											<div class="div_rubr">
												<span> <!-- texte qui apparait -->
							<b>Infos</b> :		<?php echo stripslashes($data['infos']);?></br></br></br>
												</span> <!-- texte qui apparait -->
											</div>
										</div>	
									</div>		
							</div>
						
							<?php
							
						}
						?>

<div class="clear"></div>
</div>


Donc ce code fonctionne, mais pas comme je le veux, il reproduit les div gauche et droite a chaque bannières comme ceci :

<div id="contener">	
	
											
						
							<div class="droite">
							<b>Nom</b> : 		Tf2</br>
								<a href="http://www.gametracker.com/server_info/91.229.20.33:28963/" target="_blank"><img src="http://cache.www.gametracker.com/server_info/91.229.20.33:28963/b_560_95_1.png" border="0" width="560" height="95" alt=""/></a>								<div id="content-text">									
										<div id="print-this">
												<span class="titre_txt">
												Infos Serveurs<!-- texte qui fait dérouler -->
												<img class="deroul_img" src="img/agrandir.gif" alt="Développer" style="vertical-align:middle"/></br>
												</span> 
											<div class="div_rubr">
												<span> <!-- texte qui apparait -->
							<b>Infos</b> :		tt</br></br></br>
												</span> <!-- texte qui apparait -->
											</div>
										</div>	
									</div>		
							</div>
						
												
						
							<div class="droite">
							<b>Nom</b> : 		Cod4</br>
								<a href="http://www.gametracker.com/server_info/91.229.20.33:28963/" target="_blank"><img src="http://cache.www.gametracker.com/server_info/91.229.20.33:28963/b_560_95_1.png" border="0" width="560" height="95" alt=""/></a>								<div id="content-text">									
										<div id="print-this">
												<span class="titre_txt">
												Infos Serveurs<!-- texte qui fait dérouler -->
												<img class="deroul_img" src="img/agrandir.gif" alt="Développer" style="vertical-align:middle"/></br>
												</span> 
											<div class="div_rubr">
												<span> <!-- texte qui apparait -->
							<b>Infos</b> :		gggg</br></br></br>
												</span> <!-- texte qui apparait -->
											</div>
										</div>	
									</div>		
							</div>
						
												
						
							<div class="gauche">
							<b>Nom</b> : 		Cod4</br>
								<a href="http://www.gametracker.com/server_info/91.229.20.33:28963/" target="_blank"><img src="http://cache.www.gametracker.com/server_info/91.229.20.33:28963/b_560_95_1.png" border="0" width="560" height="95" alt=""/></a>								<div id="content-text">									
										<div id="print-this">
												<span class="titre_txt">
												tt<!-- texte qui fait dérouler -->
												<img class="deroul_img" src="img/agrandir.gif" alt="Développer" style="vertical-align:middle"/></br>
												</span> 
											<div class="div_rubr">
												<span> <!-- texte qui apparait -->
							<b>Infos</b> :		</br></br></br>
												</span> <!-- texte qui apparait -->
											</div>
										</div>	
									</div>		
							</div>
						
							
<div class="clear"></div>
</div>


Or je voudrais que chaque bannière ayant pour position=droite soit dans la même div, et inversement pour position=gauche


Si une âme charitable peut m'aider

Cordialement

A voir également:

2 réponses

Alming Messages postés 60 Date d'inscription dimanche 30 juin 2013 Statut Membre Dernière intervention 20 juillet 2013 13
30 juin 2013 à 11:28
Il faudrait alors retirer les divs conteneurs de la boucle while pour éviter qu'elle ne se duplique.
Pour résoudre ton cas, il faut faire deux requêtes MySQL distinctes : une qui s'occupera de la colonne de droite, et une qui s'occupera de la colonne de gauche.
Voici ce que ça donnerais :
<?php
	require "../include/config.php";
	mysql_connect($adresse, $nom, $motdepasse);
	mysql_select_db($database);
?>

<div id="contener">
	<div id="droite"> <!-- COLONNE DE DROITE -->
		<?php
			$sqlDroite = 'SELECT * FROM serveurs WHERE position = "droite" ORDER BY id DESC'; // REQUETE QUI S'OCCUPE DES BANNIERES DE DROITE
			$req = mysql_query($sqlDroite) or die(mysql_error());

			while($data = mysql_fetch_assoc($req))
			{
		?>
		<b>Nom</b> : <?php echo stripslashes($data['nom']);?></br>
		<?php echo stripslashes($data['script']);?>
		<div id="content-text">									
			<div id="print-this">
				<span class="titre_txt">
					<?php echo stripslashes($data['miniature']);?><!-- texte qui fait dérouler -->
					<img class="deroul_img" src="img/agrandir.gif" alt="Développer" style="vertical-align:middle"/></br>
				</span> 
				<div class="div_rubr">
					<span> <!-- texte qui apparait -->
						<b>Infos</b> : <?php echo stripslashes($data['infos']);?></br></br></br>
					</span> <!-- texte qui apparait -->
				</div>
			</div>	
		</div>
		<?php
			}
		?>	
	</div>

	<div id="gauche"> <!-- COLONNE DE GAUCHE -->
		<?php
			$sqlGauche = 'SELECT * FROM serveurs WHERE position = "gauche" ORDER BY id DESC'; // REQUETE QUI S'OCCUPE DES BANNIERES DE GAUCHE
			$req = mysql_query($sqlGauche) or die(mysql_error());

			while($data = mysql_fetch_assoc($req))
			{
		?>
		<b>Nom</b> : <?php echo stripslashes($data['nom']);?></br>
		<?php echo stripslashes($data['script']);?>
		<div id="content-text">									
			<div id="print-this">
				<span class="titre_txt">
					<?php echo stripslashes($data['miniature']);?><!-- texte qui fait dérouler -->
					<img class="deroul_img" src="img/agrandir.gif" alt="Développer" style="vertical-align:middle"/></br>
				</span> 
				<div class="div_rubr">
					<span> <!-- texte qui apparait -->
						<b>Infos</b> : <?php echo stripslashes($data['infos']);?></br></br></br>
					</span> <!-- texte qui apparait -->
				</div>
			</div>	
		</div>
		<?php
			}
		?>
	</div>

	<div class="clear"></div>
</div>


P.S. : je te conseille d'utiliser l'objet PDO pour tout ce qui est de MySQL.
0
Ghost-Rider-96
30 juin 2013 à 13:17
C'est parfait ! j'ai juste repasser les
<div id=droite et gauche
en
<div class=droite et gauche
et cela marche parfaitement, un grand merci !

Oui il faut que je refasse tout en PDO, maintenant que cela marche je vais me pencher dessus

Encore merci !
0