Page 1 sur 1

mettre une ligne unique sur tableau bouclé

Posté : 10 avr. 2006, 14:27
par ephemere
Salut à tous, :D
Voila mon problème, je créé un tableau de la manière suivante:
  
<?php
$resultSet = mysql_query($sql); 

echo '<table width="85%" border="1" height="20" >' ;

while ($row = mysql_fetch_array($resultSet)) { 
?> 
  </div>
  <tr>
  <td width="11%"><div align="center"><?php echo $row['Id']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Type']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Date']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Signalé_par']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Lieux']?></div></td>
  </tr> 
</form>
<p>
  <?php }

echo '</table>';
?>
ça fonctionne parfaitement, le seul problème c'est que je voudrais y ajouter une première ligne avec les titres de colonnes qui n'apparraisse qu'une seul fois et non pas une fois toute les deux ligne comme c'est le cas actuellement... :?
Vous avez une idée?

Re: mettre une ligne unique sur tableau bouclé

Posté : 10 avr. 2006, 14:29
par zeus
bah, euh, comme tu ouvres ta table, tu n'as qu'a mettre la 1er ligne en dehors de la boucle ...
  
<?php
$resultSet = mysql_query($sql); 
?>
<table width="85%" border="1" height="20" >
  <tr>
  <td width="11%">1</td>
  <td width="11%">2</td>
  <td width="11%">3</td>
  <td width="11%">4</td>
  <td width="11%">5</td>
  </tr>
<?php
while ($row = mysql_fetch_array($resultSet)) { 
?> 
  </div>
  <tr>
  <td width="11%"><div align="center"><?php echo $row['Id']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Type']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Date']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Signalé_par']?></div></td>
  <td width="11%"><div align="center"><?php echo $row['Lieux']?></div></td>
  </tr> 
</form>
<p>
  <?php }

echo '</table>';
?>
Sinon, tu sais qu'il n'est pas obligatoire de mettre un div pour centrer un élément. Pourquoi est-ce que tu entoure tes <tr> et le contenu de tes <td> par des div ?

Posté : 10 avr. 2006, 14:30
par charabia
Heu oui...une idée très simple lol

Il te suffit de mettre ta ligen hors boucle :
<?php
$resultSet = mysql_query($sql);
?>
<form>
<table width="85%" border="1">
<tr>
	<td>ID</td>
	<td>Typr</td>
	<td>Date</td>
	<td>Signalé par</td>
	<td>Lieux</td>
</tr>
<?php
while ($row = mysql_fetch_array($resultSet)) { 
?>
<tr> 
	<td width="11%" align="center"><?php echo $row['Id']; ?></td> 
	<td width="11%" align="center"><?php echo $row['Type']; ?></td> 
	<td width="11%" align="center"><?php echo $row['Date']; ?></td> 
	<td width="11%" align="center"><?php echo $row['Signalé_par']; ?></td> 
	<td width="11%" align="center"><?php echo $row['Lieux']; ?></td> 
</tr>  
<?php }?>
</table>
</form>

Posté : 10 avr. 2006, 14:41
par ephemere
et ben oui c'est ce que j'ai fait mais ça génere un espace entre la première ligne et le reste...et puis la taille des cellules titres ne correspond que difficilement a celle des colonnes....d'où ma question !

Je voudrais qu'elle soit vraiment imbriqué dans le tableau !

Posté : 10 avr. 2006, 14:43
par charabia
Si tu as des espaces bizarres c'est sans aucun doute dû à tes div. As-tu testé mon code ?

Posté : 10 avr. 2006, 15:05
par Ryle
Le problème doit surtout provenir qu'il y a des tags html placés un peu n'importe ou dans le tableau... nottament un "</form> " et un "<p>"... les <div align="center"> ne posent normalement pas de problème, même si c'est plus simple de mettre le align directement dans le td, voire dans une feuille de style.

Pour rappel/info, un tableau html est constitué de lignes <tr> et de cellules <td> ou <th>, et l'on ne doit écrire QUE dans les cellules, que ce soit des tags html ou du texte :

Code : Tout sélectionner

<table> <!-- ne rien mettre ici on a pas encore créé de ligne --> <tr> <!-- ne rien mettre ici non plus on est pas dans une cellule --> <th> Enfin une cellule, on peut mettre ce qu'on veut</th> <!-- on ne met rien non plus entre des cellules --> <td> Une autre cellule</td> <!-- ne rien mettre là vu qu'on est plus dans une cellule --> </tr> <!-- ne pas écrire entre les lignes --> </table> Et maintenant que l'on est sortit, on peut se lacher sur les <p>, les </form> et autre tags :)
La seule exception à ceci sont les balises thead et tbody, mais entre nous, on s'en passe très bien. Les balises, c'est comme les effluves, faut pas les croiser, c'est mal ! ;)

Quant à ton problème de taille... peut être est ce du au fait que le cumul de tes 5 cellules ne donne que 55% alors que la logique voudrait qu'en additionnant des pourcentages on obtienne 100 ? :)