tableaux

Petit nouveau ! | 6 Messages

18 févr. 2007, 19:26

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

Eléphant du PHP | 177 Messages

18 févr. 2007, 19:45

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

Petit nouveau ! | 6 Messages

18 févr. 2007, 19:46

oula!
ca ma l'air complexe mais je vais essayer :)
merci

Petit nouveau ! | 6 Messages

18 févr. 2007, 21:37

fiou... j'arrive pas ... c'est trop compliquée

Petit nouveau ! | 6 Messages

18 févr. 2007, 22:10

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 :)

ViPHP
ViPHP | 3607 Messages

18 févr. 2007, 22:14

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)

Petit nouveau ! | 6 Messages

18 févr. 2007, 22:18

Merci je vais y jeter un oeuil...

Mais pour le moment tout vas bien :)

Eléphant du PHP | 445 Messages

19 févr. 2007, 00:34

Ta variable $e ne sert apparement à rien
LLDC
Ulti

Petit nouveau ! | 6 Messages

19 févr. 2007, 08:22

Bien sur !

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 févr. 2007, 09:09

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> ...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...