[Résolu] Modifier une TABLE avec un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] Modifier une TABLE avec un formulaire

Re: Modifier une TABLE avec un formulaire

par Mazarini » 22 mai 2012, 09:16

Lorsque ce genre de message se produit, ca peut venir de la ligne précédente. Il faudrait nous montrer quelques lignes avant l'echo.
Causes possible : erreur sur le nombre de " dans les chaines, oubli d'un ; en fin de ligne.

Pour ce qui est de concaténations de variables, le problème se pose pour les tableaux, pas pour les variables simples lorsque l'on utilise les doubles quotes. Mais c'est au niveau du résultats (variable non remplacée par sa valeur), pas par un message d'erreur. C'est le problème que tu rencontrera après avoir résolu l'erreur de syntaxe

Re: Modifier une TABLE avec un formulaire

par piotrowski-s » 22 mai 2012, 09:00

tu n'as pas concaténer tes variables.

un exemple: cette requête ne vas pas:
mysql_query("UPDATE RESERVATION SET NoRes=$NoRes WHERE ID=$id_Gite");
tu dois mettre:
mysql_query("UPDATE RESERVATION SET NoRes=".$NoRes." WHERE ID=".$id_Gite."");

[Résolu] Modifier une TABLE avec un formulaire

par dadinio » 22 mai 2012, 02:08

Bonsoir, j'ai un probleme que j'arrive pas a résoudre
le probleme est dans la 2eme page ligne 20 ==>echo "Pour la ligne $recup_valeurs['NoGite'], vous avez écris le NoRes $NoRes <br/>";


Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8-modgsi\www\site des gites\adherents\modification.php on line 20

si quelque peut m'aider ca serai vraiment sympas

Ps : je suis Debutant

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 un nom</b></font>';
}//*/

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