|
Bonjour, Je suis débutante et je cherche à progresser, je suis bloquée depuis quelque temps sur un problème d'affichage. J'ai un tableau (calendrier) J'ai une base de données avec une table reservation avec un champ id_reserv qui correspond à un timestamp concatené avec une autre variable. Cela fonctionne , quand le visiteur veut réserver il clique sur la cellule du tableau et envoie la variable id_reserv (par un GET) qui est alors comparée à celles de la table, si elle n'existe pas dans la table, elle est enregistrée. Maintenant je cherche à modifier les cellules correspondant à une réservation dans ma base de données, je voudrais que dès que j'affiche le calendrier il mette à jour les cellules réservées (en vert). Je joins un exemple de code simplifié(j'ai remplacé mes timestamp par a,b,c,d.... Problème rencontré Je n'ai que la première réservation rencontrée dans la base de données qui change la couleur de la cellule correspondante et puis plus rien, j'ai aussi un problème d'affichage de #### sous le tableau, ma routine ne doit pas être satisfaisante
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
table
{
margin: auto;
border: 4px outset green;
border-collapse: collapse;
}
td
{
background-color: white;
color: black;
border: 1px solid black;
width: 100px;
height: 50px;
}
td.res /* Les cellules réservées */
{
background-color: green;
color: black;
border: 1px solid black;
width: 100px;
height: 50px;
}
</style>
</head>
<body>
<?php
$reserv= array('a','b','c','d','e','f','g','h','i');
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base ,
mysql_select_db('mabase',$db) or die('Erreur de selection '.mysql_error());
for($i=0;$i<sizeof($reserv);$i++)
{
$sql = " SELECT id_reserv FROM reservation WHERE id_reserv='".$reserv[$i]."'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());}
while ($donnees['id_reserv'] = mysql_fetch_array($req))
{
{
echo'<table>';
if ($donnees['id_reserv']==$reserv[0]){echo'<tr><td class="res" ><a href="res.php?a='.$reserv[0].'">réservé</a></td>';} else { echo'<tr><td ><a href="cellule.php?a='.$reserv[0].'">#</a></td>';}
if ($donnees['id_reserv']==$reserv[1]){echo'<td class="res"><a href="res.php?a='.$reserv[1].'">réservé</a></td>';} else { echo'<td ><a href="cellule.php?a='.$reserv[1].'">#</a></td>';}
if ($donnees['id_reserv']==$reserv[2]){echo'<td class="res"><a href="res.php?a='.$reserv[2].'">réservé</a></td>';} else { echo'<td ><a href="cellule.php?a='.$reserv[2].'">#</a></td></tr>';}
if ($donnees['id_reserv']==$reserv[3]){echo'<tr><td class="res" ><a href="res.php?a='.$reserv[3].'">réservé</a></td>';} else { echo'<tr><td ><a href="cellule.php?a='.$reserv[3].'">#</a></td>';}
if ($donnees['id_reserv']==$reserv[4]){echo'<td class="res"><a href="res.php?a='.$reserv[4].'">réservé</a></td>';} else { echo'<td ><a href="cellule.php?a='.$reserv[4].'">#</a></td>';}
if ($donnees['id_reserv']==$reserv[5]){echo'<td class="res"><a href="res.php?a='.$reserv[5].'">réservé</a></td>';} else { echo'<td ><a href="cellule.php?a='.$reserv[5].'">#</a></td></tr>';}
if ($donnees['id_reserv']==$reserv[6]){echo'<tr><td class="res" ><a href="res.php?a='.$reserv[6].'">réservé</a></td>';} else { echo'<tr><td ><a href="cellule.php?a='.$reserv[6].'">#</a></td>';}
if ($donnees['id_reserv']==$reserv[7]){echo'<td class="res"><a href="res.php?a='.$reserv[7].'">réservé</a></td>';} else { echo'<td ><a href="cellule.php?a='.$reserv[7].'">#</a></td>';}
if ($donnees['id_reserv']==$reserv[8]){echo'<td class="res"><a href="res.php?a='.$reserv[8].'">réservé</a></td>';} else { echo'<td ><a href="cellule.php?a='.$reserv[8].'">#</a></td></tr>';}
echo'</table>';}
?>
</body>
</html>
|
|
Salut,
Tu devrais pouvoir faire tout çà en une seule requète quelquechose du genre :
$sql = " SELECT id_reserv FROM reservation WHERE id_reserv IN ('a','b','c','d','e','f','g','h','i')";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());}
while ($row = mysql_fetch_assoc($req))
{
foreach ($reserv as $value){
$class = '';
$status = '#';
if ($row['id_reserv'] == $value ){
$class = 'class="res"';
$status = 'réservé';
}
echo '<tr><td '.$class.'><a href="res.php?a='.$value.'">'.$status.'</a></td>';
}
Bon suis un peu naze ce soir alors je te garanti pas que ca fonctionne , mais si ca peut t'aider.. A+ |
|
Merci spoon, j'essaie ton code, mais pour le moment, cela ne fonctionne pas, j'ai une page vierge, sans message d'erreur. Je vais essayer de voir ce qui cloche. A+ |