Mammouth du PHP |
1107 Messages
08 nov. 2005, 15:10
je viens de tester ton code. ok le principe est la, mais je souhaiterais que les reservations des différents USER soient toutes dans le meme tableau.
Fonctionnement :
La requête trouve le nombre de pc réservés par utilisateur puis une boucle schèmatise les pc selon leur nombre dans une grille de 6 colonnes et n lignes et ce pour chaque utilisateur.
Justement, il ne faut pas créer une grille par utilisateur, mais une grille générale, et là ou je bloque, ne pas passer à la ligne entre chaque reservation.
j'ai modifié ton code de cette manière :
<table width="100%" border="1" align="center">
<tr>
<?php
// on recupere l'id_user de chaque reservation sur la soirée donnée
$query_res = array(
array("username"=>"toto","nb_pc"=>10,"ID"=>1),
array("username"=>"momo","nb_pc"=>5,"ID"=>2),
array("username"=>"popo","nb_pc"=>14,"ID"=>3)
);
// si la requete renvoie quelquechose, on execute la boucle
if ($query_res)
{
foreach($query_res as $result_res)
{
for ($a=1; $a<=$result_res['nb_pc']; $a++)
{
if (($a-1) % 6 == 0)
{
echo "<tr>";
}
echo "<td title="réservé par ".$result_res['username'].""><img src="pc_res.gif" width="13" />".$result_res['ID']."</td>";
}
}
}
?>
</table>
ce qui donne ça :
http://vanwork.nuxit.net/goodgame/calendrier/test.php
Mais il y'a toujours ce probleme de retour à la ligne.
Je viens de regarder le code généré, c'est pas extra en plus :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>
<body>
<table width="100%" border="1" align="center">
<tr>
<tr>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<tr>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<td title="réservé par toto"><img src="pc_res.gif" width="13" />1</td>
<tr>
<td title="réservé par momo"><img src="pc_res.gif" width="13" />2</td>
<td title="réservé par momo"><img src="pc_res.gif" width="13" />2</td>
<td title="réservé par momo"><img src="pc_res.gif" width="13" />2</td>
<td title="réservé par momo"><img src="pc_res.gif" width="13" />2</td>
<td title="réservé par momo"><img src="pc_res.gif" width="13" />2</td>
<tr>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<tr>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<tr>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
<td title="réservé par popo"><img src="pc_res.gif" width="13" />3</td>
</table>
</body>
</html>
le probleme vient du fait qu'une fois qu'il a finit la boucle de USER 1, il passe à la boucle de USER 2, et ré-initialise $a à 1. et donc vue que ($a - 1) % 6 = 0, il ecrit le <tr>.
d'aileurs ça se voit à l'ouverture du tableau, le script à crée deux <tr> à la suite.