Page 1 sur 1

Modifier une TABLE avec un formulaire sous forme de tableau

Posté : 22 mai 2012, 19:05
par dadinio
Bonjour,
j'ai un probleme que j'arrive pas a resoudre
si quelqu'un peut m'aider ca serai vraiment sympas
la 1ere page qui est dessous(en image) sa marche , mais la 2eme page ne marche pas
en fait ,dans la 2eme page je veux recuperer les variable du tableau et faire les modification sur la table de ma BDD

Image
1 ere page pour editer ma table a partir de ma BDD sous forme de tableau et y inclure un formulaire
<?php 
//On démarre la session
session_start();
//On test l'existence du mot de passe dans les variables de session et on renvoie à l'accueil s'il n'existe pas car INTRUSION sur la page!
if(!isset($_SESSION['login']) || $_SESSION['password'] == "")
{	
   header("Location:../index.html") ;
}
?>

<form action="modification.php" method="post">
<table align=center width=00 bgcolor="#FFFFFF">
</tr>
<td align=center width=100 bgcolor="#DC143C">Selectionner les reservations</td>
<td align=center width=130 bgcolor="#DC143C">N° du Gite</td>
<td align=center width=150 bgcolor="#DC143C">Date de début de séjour </td>
<td align=center width=150 bgcolor="#DC143C">Date de fin de séjour </td>
<td align=center width=130 bgcolor="#DC143C">N° de réservation</td>
</tr>
<?php
$host = 'localhost';$user = '...';$pass = '...';
$db = '...';
$link = mysql_connect($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // Connexion à MySQL
mysql_select_db($db);
$select = "SELECT * FROM RESERVATION ORDER BY NoRes";
$result = mysql_query($select,$link);
$total = mysql_num_rows($result);
/* Il manque une distinction des noms des cellules des tableaux, l'utilisation d'index s'impose */
$i=0;//on initialise l'index
while ($row = mysql_fetch_array($result)){
$NoGite=$row['NoGite'];
$DateResDeb = $row['DateResDeb'];
$DateResFin=$row['DateResFin'];
$NoRes=$row['NoRes'];
echo "<tr>";
echo "<td align=center bgcolor='#DCDCDC'><input type='checkbox' name='select[$i]' value='$select' /></td>";
echo "<td align=center bgcolor='#DCDCDC'><input type='text' font='verdana' name='NoGite[$i]' value='$NoGite' /></td>";
echo "<td align=center bgcolor='#DCDCDC'><input type='text' font='verdana' name='DateResDeb[$i]' value='$DateResDeb' /></td>";
echo "<td align=center bgcolor='#DCDCDC'><input type='text' font='verdana' name='DateResDeb[$i]' value='$DateResFin' /></td>";
echo "<td align=center bgcolor='#DCDCDC'><input type='text' font='verdana' name='NoRes[$i]' value='$NoRes' /></td>";
echo "</tr>\n";
$i++;// on incrémente l'index
}
// on libère le résultat
mysql_free_result($result);
mysql_close(); // Déconnexion de MySQL
?>
</table>
<input type="hidden" name="nb_lignes" value="<?php echo $i ?>">
<input type="submit" name="valid_liste" value="VALIDER" >
</form>
2 eme page pour recuperer les variable du tableau et faire les modification sur la table de ma BDD
<?php
//* Récup des données
$nb_lignes=$_GET['nb_lignes'];//*/

$host = 'localhost';$user = '...';$pass = '...';
$db = '...';
mysql_connect($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // Connexion à MySQL
mysql_select_db($db);

$nb_case=0;
for ($i=0;$i<$nb_lignes;$i++){
if(isset($_GET['NoGite'][$i])) {
$id_Gite=$_GET['NoGite'][$i];
$DateResDeb=$_GET['DateResDeb'][$i];
$DateResFin=$_GET['DateResFin'][$i];
$NoRes=$_GET['NoRes'][$i];
$select = "SELECT * FROM RESERVATION where ID='$id_Gite'"; // on récupère le numero de Reservation en fonction de l'ID
$result = mysql_query($select);
$recup_valeurs=mysql_fetch_array($result);
echo "Pour la ligne " . $recup_valeurs['NoGite'] . ", vous avez écris le NoRes " . $NoRes . " <br/>";
mysql_query("UPDATE RESERVATION SET NoRes=".$NoRes." WHERE ID=".$id_Gite."");
$nb_case++;//incrémentation
}
}
if($nb_case==0) {// Si aucune case n'est cochée
echo '<font font="arial" size="2" color="red"><b>Vous devez selectioner au moins une reservation</b></font>';
}//*/

// on libère le résultat
mysql_free_result($result);
mysql_close(); // Déconnexion de MySQL
?>

Re: Modifier une TABLE avec un formulaire sous forme de tabl

Posté : 22 mai 2012, 19:19
par Ryle
Et c'est quoi le problème que tu n'arrives pas à résoudre ?

Les données ne sont pas enregistrées en base ? Tes requêtes sql sont correctes ? Tes variables sont bien récupérées ...
As-tu des messages d'erreurs ? ... bref, c'est plus facile de soigner quand on connait les symptômes ;)

Re: Modifier une TABLE avec un formulaire sous forme de tabl

Posté : 22 mai 2012, 19:24
par dadinio
Les données sont enregistrées en base (N°reservation , N° du gite ,date ......

je pense que les variables ne sont pas bien récupérées
oui j'ai des messages d'erreur

Notice: Undefined index: nb_lignes in c:\program files\easyphp1-8-modgsi\www\site des gites\adherents\modification.php on line 3
Vous devez selectioner au moins une reservation
Notice: Undefined variable: result in c:\program files\easyphp1-8-modgsi\www\site des gites\adherents\modification.php on line 30

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8-modgsi\www\site des gites\adherents\modification.php on line 30



ps : je suis debutant