Page 1 sur 1

tableaux

Posté : 18 févr. 2007, 19:26
par inter6969
Bonjour,

je débute en php et j'aurai une petite question

voici mon code
<link href="../../css.css" rel="stylesheet" type="text/css" />
<table background="img/multimedia.gif" width="100%" cellpadding="2" cellspacing="0">	
	<?php
		$req_galeries=mysql_query("SELECT * FROM galeries ORDER BY id_galerie DESC");
		while ($donnees_galeries=mysql_fetch_array($req_galeries)){
			$nom_galerie=$donnees_galeries['nom_galerie'];
			$img_galerie=$donnees_galeries['image_galerie'];
			$lien_galerie=$donnees_galeries['lien_galerie'];
		?>
	<tr align="center">
		<td>
			<a target="_blank" href="img/galerie/<?php echo $lien_galerie ?>/index.html"><img src="img/galerie_miniatures/<?php echo $img_galerie ?>" /></a>
		</td>
	</tr>
	<tr align="center" class="text_rouge">
		<td>
			<?php echo $nom_galerie ?>
		</td>
	</tr>
	<?php
		}
	?>
</table>
Cela m'affiche toutes mes galeries photos. Le problème c'est que elle s'affichent toutes sur une seul colonne. Moi je voudrai, par exemple que elle s'affiche sur deux ou trois collones...

Est il possible??

merci

Posté : 18 févr. 2007, 19:45
par aelurus
Salut

Oui c'est tout a fait possible :).
Ton soucis est dans la structure de ta boucle qui crée le tableau.
Je te conseillerais de récupérer ton code html generer puis de jouer avec la construction de ton tableau.
Une fois que tu a trouvé la bonne structure de ton html modifie ta boucle en fonction.
Si je dit pas trop de bêtise il te faudra mettre en place une double boucle avec un compteur

Posté : 18 févr. 2007, 19:46
par inter6969
oula!
ca ma l'air complexe mais je vais essayer :)
merci

Posté : 18 févr. 2007, 21:37
par inter6969
fiou... j'arrive pas ... c'est trop compliquée

Posté : 18 févr. 2007, 22:10
par inter6969
Alors voila....

j'ai bricolé bricolé et j'ai réussi a faire afficher en deux colonnes...

voila le code:
<link href="../../css.css" rel="stylesheet" type="text/css" />
<table background="img/multimedia.gif" width="100%" cellpadding="2" cellspacing="0">	
	<?php
		$i=2;	
		$req_galeries=mysql_query("SELECT * FROM galeries ORDER BY id_galerie DESC");
		$nbrs_galeries=mysql_num_rows($req_galeries);
		while ($donnees_galeries=mysql_fetch_array($req_galeries)){
			$nom_galerie=$donnees_galeries['nom_galerie'];
			$img_galerie=$donnees_galeries['image_galerie'];
			$lien_galerie=$donnees_galeries['lien_galerie'];
			
	if($i/2 == round($i/2))
   {
      $e= 1;
   }
   else
   {
      $e= 0;
   }
   
   if ($e==1){
		?>
		
	<tr align="center">
		<td>
			<table>
				<tr>
					<td align="center">
						<a target="_blank" href="img/galerie/<?php echo $lien_galerie ?>/index.html"><img src="img/galerie_miniatures/<?php echo $img_galerie ?>" /></a>
					</td>
				</tr>
				<tr>
					<td align="center">
						<?php echo $nom_galerie ?>
					</td>
				</tr>
			</table>
		</td>

	<?php
		}
		else
		
		{
		?>
		<td>
			<table>
				<tr>
					<td align="center">
						<a target="_blank" href="img/galerie/<?php echo $lien_galerie ?>/index.html"><img src="img/galerie_miniatures/<?php echo $img_galerie ?>" /></a>
					</td>
				</tr>
				<tr>
					<td align="center">
						<?php echo $nom_galerie ?>
					</td>
				</tr>
			</table>
	</tr>
	<?php
		}
		$i++;
		}
	?>
	
</table>
Trop content :)

Posté : 18 févr. 2007, 22:14
par jojolapine
salut,
pour remplacer ça:
$i/2 == round($i/2)
regarde du côté du modulo (http://fr3.php.net/manual/fr/language.o ... hmetic.php)

Posté : 18 févr. 2007, 22:18
par inter6969
Merci je vais y jeter un oeuil...

Mais pour le moment tout vas bien :)

Posté : 19 févr. 2007, 00:34
par Ultim4T0m
Ta variable $e ne sert apparement à rien

Posté : 19 févr. 2007, 08:22
par inter6969
Bien sur !

elle me sert a calculer le résultat de $i après un calcul

Posté : 19 févr. 2007, 09:09
par Ryle
Bien sur !

elle me sert a calculer le résultat de $i après un calcul
Ce qui en l'occurence ne sert effectivement à rien puisque tu fais 2 fois le même test : si ton calcul $i/2 == round($i/2) est vrai, alors $e est vrai, si le calcul est faux, alors $e est faux... pourquoi ne pas utiliser directement le "calcul" :
while ($donnees_galeries=mysql_fetch_array($req_galeries)){ 
  $nom_galerie=$donnees_galeries['nom_galerie']; 
  $img_galerie=$donnees_galeries['image_galerie']; 
  $lien_galerie=$donnees_galeries['lien_galerie']; 
             
  if($i/2 == round($i/2)) { // avec un modulo ca serait quand même plus prorpre ;)
  ?> 
    <tr align="center"> 
      <td> 
        <table> 
          <tr> ...