Objectif visé :
Lors d'une inscription à un spectacle, faire en sorte que le n° de la place, enregistrée dans la bdd, soit coloré sur la page de visualisation des places de la salle, pour le distinguer des places encore disponibles.

Lors d'un clic sur une élément de mon array, celui-ci me renvoie à un formulaire avec le n° de l'array (correspondant à un n° de place) saisie automatiquement dans un champ.
Une fois l'ensemble du formulaire saisie, les données sont enregistrées dans ma bdd.

Problématique :
Je ne vois pas comment arriver à faire en sorte que la place inscrite dans la bdd, puisse à l'aide d'une requête me colorier le n° correspondant sur la page de mon array.

Ma page visualisant les places dans la salle

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
$<?php //http://www.coppoweb.com/outils/phpcode/affichetableau.php
// mettre à zéro si calcul automatique à partir de nbcol
if (!isset($nblig)) $nblig = 0;
// mettre à zéro si calcul automatique à partir de nblig
if (!isset($nbcol)) $nbcol = 17;
// dessiner les cellules ne contenant pas de valeurs en fin de tableau
if (!isset($completer)) $completer = 1;
// 1 => du haut vers le bas puis de la gauche vers la droite
// 0 => de la gauche vers la droite puis du haut vers le bas
if (!isset($vertical)) $vertical = 0;
// récupération des n valeurs dans $place[] 
$place = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50);				  
$nb_total = sizeof($place);
// calcul des limites
if ($nblig != 0)
{
    $nbcol = ceil($nb_total / $nblig);
}
elseif ($nbcol != 0)
{
    $nblig = ceil($nb_total / $nbcol);
}
else
{
    echo "Nb de lignes et Nb de colonnes indéfinis !";
    exit;
}
echo "<TABLE CELLSPACING=1>\n\n";
$limite = $completer ? $nbcol*$nblig : $nb_total;
if ($vertical)
{
    // affichage vertical	
    for ($cpt = 0; $cpt < $limite; $cpt++)
    {
        $col = (int)($cpt / $nblig) + 1;
 
        $lig = ($cpt % $nblig) + 1;
 
        $valeur = ($cpt < $nb_total) ? $place[$cpt] : '';
 
        if ($col == 1) $ligne[$lig] = "<TR BGCOLOR='#DADADA'>";
        $ligne[$lig] .= "<TD>&nbsp;".$valeur."&nbsp;</TD>";
        if ($col == $nbcol) $ligne[$lig] .= "</TR>\n\n";
    }
    for ($cpt = 1; $cpt <= sizeof($ligne); $cpt++)
    {
       echo $ligne[$cpt];
    }
}
else
{
    // affichage horizontal
    for ($cpt = 0; $cpt < $limite; $cpt++)
    {
        $col = ($cpt % $nbcol) + 1;
 
        $valeur = ($cpt < $nb_total) ? $place[$cpt] : '';
 
        if ($col == 1) echo "<TR BGCOLOR='#DADADA'>";		
{
echo "<td><a href=saisie2.php?valeur=".$valeur.">".$valeur."</a></td>\n";
}
 
        if ($col == $nbcol) echo "</TR>\n\n";
    }
}
echo "</TABLE>\n";			
?>

Une partie de ma page de formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?php
	include ("connect.php");
<form action="<?php echo "traitement2.php"; ?>" method="post">
 
    	<p>
		<label for="numeroplace">Numéro de la place :</label>
		<input type="text" id="id_place" name="id_place" tabindex="1" value="<?php  $valeur = $_GET['valeur']; echo $_GET['valeur']; ?>" size="5" maxlength="3" /> 
		</p>
?>

Et ensuite j'ai la page de mon traitement de formulaire qui permet l'enregistrement sur ma bdd.
Une partie du code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
?php
    // Si le formulaire a été envoyé, on teste les champs...
			if (empty($_POST['id_place'])) 
...
			$message .= "Merci de saisir le numéro de la place.<br /> ";
// si un champ est vide, on affiche le message d'erreur
			if (strlen($message) > strlen($msg_erreur)) {
			echo "$message </br>";
...
			echo '<a href =" http://chaix.village.free.fr/test4/saisie2.php">Retour au formulaire de saisie</a> </br>'; 
			}
 
			// sinon c'est ok 
			else {
			foreach($_POST as $index => $valeur) {
			$$index = mysql_real_escape_string(trim($valeur));
			}
 
			$sql = "INSERT INTO  t_place VALUES ('".$id_place."')";
			$res = mysql_query($sql);
// on regarde si la place existe déjà
			$sql = "SELECT id_place FROM t_place WHERE id_place='$id_place'";
			$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if(($resultat!=0)  and ($id_place==$id_place))// la place existe déjà, on affiche un message d'erreur
			{
			echo '<font color="red">Désolé, mais la place '.$id_place.' est déjà saisie dans la base.</font>';
etc.

Merci pour votre aide.