hum la c un sacre code qui est sense :
- recuperer le nom du groupe
- recuperer un "tableau" sous la forme 1;1;0;1;0;1;0 ...pour la positionnement des table dans la salle de devoir (1 = une table , 0 pas de table)
- recreer le tableau avec ses dimensions de colonnes et de ligne
- generer un dessin affichant des rectangles avec des nom dedans issus du groupe selectionne
MAIS:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:program fileseasyphp1-7wwwprojet tutplacement.php on line 63
Warning: Division by zero in c:program fileseasyphp1-7wwwprojet tutplacement.php on line 81
Warning: Division by zero in c:program fileseasyphp1-7wwwprojet tutplacement.php on line 82
Apres ces erreurs, je ne sais pas si le code en lui meme marche...
Je m excuse d avance si mon code n est pas propre, je m y suis efforce pourtant...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>
<body>
<?php
echo '
<form action="placement.php" method="post">
<table cellspacing="0" cellpadding="4">
<tr><td>Groupe :</td><td><select name="groupe"><option>A
<option>B
<option>C
<option>D
<option>E
<option>F
<option> Tous </select></td></tr>
<tr><td>Nom de la salle:</td><td><input type="text" name="salle"></td></tr>
</table>
<input type="submit" name="etape1" value="OK"> <br />';
if( isset($_POST['groupe'])) $groupe = $_POST['groupe'];
if( isset($_POST['salle'])) $salle = $_POST['salle'];
if(isset($_POST['etape1'])) creer($groupe,$salle);
function creer($groupe,$salle)
{
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('tut',$db);
$sql1 = "select * from salle where num_salle=$salle ";
$req_aff2 = mysql_query($sql1);
while($data = mysql_fetch_array($req_aff2))
{
$tab_salle = explode(";", $data['disposition']);
}
$ligne = $data['ligne'];
$colonne = $data['colonne'];
$c=1;
for( $i=0; $i < $ligne; $i++ ) // on parcourt dans un sens....
{
for( $j=0; $j < $colonne; $j++ ) // et dans l'autre
{
echo '<input name="table['.$i.'x'.$j.']" type="checkbox" value="$tab_salle[$c]" >';
$c++;
}
}
mysql_close();
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('tut',$db);
$sql = "select * from etudiant where groupe=$groupe ";
$req = mysql_query($sql);
ligne 63: $nb_etudiants = mysql_num_rows($req);
$nb_grp= $nb_etudiants/6;
mysql_close();
$largeur = 600;
$hauteur = 800;
// création de l'image
$image = imagecreatetruecolor($largeur+1,$hauteur+1); // j'ajoute +1 sinon les rectangle sont mal fait sur les bords
// création des couleurs
$grisclair = imagecolorallocate($image,200,200,200);
$noir = imagecolorallocate($image,0,0,0);
// on rempli l'image
imagefill($image,0,0,$grisclair);
$url= 'image.png';
// taille des cases
ligne 81 : $largeur_case = round( $largeur / $colonne,2);
ligne 82 : $hauteur_case = round( $hauteur / $ligne,2);
for( $i=0; $i < $ligne; $i++ ) // on parcourt dans un sens....
{
for( $j=0; $j < $colonne; $j++ ) // et dans l'autre
{
// position de la case
$pos_x = $j * $largeur_case;
$pos_y = $i * $hauteur_case;
// si la case est coché, on rempli le rectangle
if( isset($_POST['table'][$i.'x'.$j]) && ($_POST['table'][$i.'x'.$j]) == '1' )
{
$rand =rand (1,$nb_grp);
$sql10 = "select * from etudiant where num_etu=$rand ";
$req_aff = mysql_query($sql10);
while($data = mysql_fetch_array($req_aff))
{
$gris = $data['nom_etu'];
}
mysql_close();
imagefilledrectangle($image,$pos_x,$pos_y,($pos_x+$largeur_case),($pos_y+$hauteu
r_case),$gris);
}
// je met des traits noir partout pour faire plus joli
imagerectangle($image,$pos_x,$pos_y,($pos_x+$largeur_case),($pos_y+$hauteur_case
),$noir);
}
}
// output de l'image
imagepng($image,$url);
echo '<br><img src="'.$url.'.png" alt="" >';
imagedestroy($image);
}
?>
</body>
</html>
merci d avance!!
edit: si vous voulez le code en plus joli:
http://www.infos-reseaux.fr.st/tut/placement.php
edit2: si vous ne comprenez pas tout, je me dois de vous preciser que ce code est a la suite d un autre:
http://www.infos-reseaux.fr.st/tut/sallebis.php