Vous n'êtes pas identifié(e).
Bonjour,
J’ai une question,
PHP
J’ai un fichier (edit_form.php)
Le contenu s’affiche dans les champs de texte (sauf id) par les informations qui se trouvent dans mySql selon le paramètre d’url :
http://toto.com/edit_form.php?id=70
Voici le code :
<table>
<tr>
<td align="center">CONTACT DB</td>
</tr>
<tr>
<td><table border="1" width="100%">
<tr>
<td>ID</td>
<td>PRENOM</td>
<td>NOM</td>
<td>#</td>
<td>RUE</td>
<td>VILLE</td>
</tr>
<?php
//recuperation la valeur d'un paramettre d'url
$var_id=$_GET['id'];
//echo $var_id;
//connection au serveur
include"connection.php";
//selection de bd
include"selection.php";
$rep = "SELECT id,bd_prenom,bd_nom,bd_numero_adresse,bd_rue_adresse,bd_ville_adresse FROM $table_db WHERE id=$var_id";
//$var_id ------------> recuperation la valeur d'un paramettre d'url
//$table_db ------------> venu par selection.php
$result = mysql_query($rep);
while($data = mysql_fetch_row($result)){
echo("<tr><td>$data[0]</td><td><input type=\"text\" name=\"textfield\" id=\"textfield\" value=\"$data[1]\"/></td><td><input type=\"text\" name=\"textfield\" id=\"textfield\" value=\"$data[2]\"/></td><td><input type=\"text\" name=\"textfield\" id=\"textfield\" value=\"$data[3]\"/></td><td><input type=\"text\" name=\"textfield\" id=\"textfield\" value=\"$data[4]\"/></td><td><input type=\"text\" name=\"textfield\" id=\"textfield\" value=\"$data[5]\"/></td></tr>");
}
?>
</table></td>
</tr>
</table>
<input type="submit" name="btn_valider" value="Valider/Enregistrer">
</form>
</body>
Jusqu’au là, tout va bien.
Comment je peux enregistre les changements dans la basse de donné que j’ai fait par les champs de texte ?
Bonne journée
Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
@*|*@
Hors ligne
Lis le cours sur le site et dis nous s'il y a quelque chose que tu ne comprends pas.
http://phpdebutant.org/article67.php
Edit : Bien vu Kris, je n'avais pas fait attention qu'il avait un select.
Voici donc l'article en question pour l'update : http://phpdebutant.org/article64.php
Dernière modification par xTG (26-03-2010 12:00:01)
Hors ligne
Saluton,
S'il s'agit de mettre à jour des informations affichées à partir d'une requête SELECT, il faut t'orienter vers une requête UPDATE.
Le premier problème que j'entrevois c'est que ton formulaire <form> n'a ni attribut method ni attribut action
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour,
Merci pour vos aides… Maljuna Kris et xTG...:)
Alors, j’ai fait des changements comme vous m’avez dit…
Dans mon fichier (edit_form.php)
Le contenu s’affiche dans les champs de texte par les informations qui se trouvent dans mySql selon le paramètre d’URL :
ID s’affiche aussi dans un champ de texte, mais non modifiable (readonly=\"readonly\")
Et j’ai ajouté aussi les paramètres dans form (<form name="editForm" method="post" action="edit_form_proceded.php">)
http://toto.com/edit_form.php?id=70
Voici le code :
<?php
//recuperation la valeur d'un paramettre d'url
$var_id=$_GET['id'];
//echo $var_id;
//connection au serveur
include"connection.php";
//selection de bd
include"selection.php";
$rep = "SELECT id,bd_prenom,bd_nom,bd_numero_adresse,bd_rue_adresse,bd_ville_adresse FROM $table_db WHERE id=$var_id";
//$var_id ------------> recuperation la valeur d'un paramettre d'url
//$table_db ------------> venu par selection.php
$result = mysql_query($rep);
while($data = mysql_fetch_row($result)){
echo("<tr><td><input type=\"text\" name=\"id\" id=\"id\" value=\"$data[0]\" readonly=\"readonly\" /></td><td><input type=\"text\" name=\"prenom\" id=\"prenom\" value=\"$data[1]\"/></td><td><input type=\"text\" name=\"nom\" id=\"nom\" value=\"$data[2]\"/></td><td><input type=\"text\" name=\"numero_adresse\" id=\"numero_adresse\" value=\"$data[3]\"/></td><td><input type=\"text\" name=\"rue_adresse\" id=\"rue_adresse\" value=\"$data[4]\"/></td><td><input type=\"text\" name=\"ville_adresse\" id=\"ville_adresse\" value=\"$data[5]\"/></td></tr>");
}
?>
</table></td>
</tr>
</table>
<input type="submit" name="btn_valider" value="Valider/Enregistrer">
</form>
</body>
Jusqu’au là, tout va bien.
Ensuite, j’ai fait mon fichier edit_form_proceded.php selon votre indication en changeant la requête INSERT INTO par UPDATE
Voici mon code
// modifier enregistrement
$var_query = "UPDATE bd_prenom,bd_nom,bd_numero_adresse,bd_rue_adresse,bd_ville_adresse FROM $table_db WHERE id=$var_id";
//bd_prenom,bd_nom,bd_numero_adresse,bd_rue_adresse,bd_ville_adresse et id les noms de collones dans bd
//$table_db ------------> venu par selection.php
$var_query .= "VALUES ('$var_prenom','$var_nom','$var_numero_adresse','$var_rue_adresse','$var_ville_adresse')";
$result = mysql_query($var_query, $cnx) or die (mysql_error());
//$cnx ------------> venu par connection.php :
// $cnx = mysql_connect( "totot", "nomLogin", "password" ) ;
?>
Je me demande si ma requête UPDATE n’est pas bonne ? …
ou bien il y a un problème avec la colonne « bd_ville_adresse » parce que je ne vois pas le nom de la ville dans le message d’erreur (il est vide)…
En fait, j’ai rectifié les champs par : prénom [toto ] nom [titi ] numéro [111 ] rue [rue lantiez] ville [berlin]
Voici le message d’erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tb_sndg_paroisse_test WHERE id=57VALUES ('toto','titi','1111','rue lantiez','' at line 1
Alors, que faire ?
Bonne journée
Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
@*|*@
Hors ligne
Euh, la syntaxe d'UPDATE est différente de la syntaxe INSERT
UPDATE nomdelatable SET [nomdelaclonne=valeur,nomduneautrecolonne=valeur,....] WHERE id=$var_id
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Salut Maljuna Kris,
Super gentil...
J'ai fais ainsi :
j’ai rectifié les champs par : prénom [titi] nom [toto] numéro [111 ] rue [coucou] ville [paris]
et voici le message d'erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[bd_prenom='titiq',bd_nom='toto',bd_numero_adresse='111',bd_rue_adresse='coucou'' at line 1
ensuite j'ai fait une autre tentative :
j’ai rectifié les champs par : prénom [titi] nom [toto] numéro [111 ] rue [coucou] ville [paris]
voici le message d'erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tb_sndg_paroisse_test SET bd_prenom='titi', bd_nom='toto', bd_numero_adress' at line 1
Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
@*|*@
Hors ligne
dans le 1er :
enleve les [ et ]
dans le 2ieme
enleve le FROM
a++
Hors ligne
Salut Pierrot,
Super UN GROS MERCI
1er marche
dans le 1er :
enleve les [ et ]
alors j'ai fait
marche sans erreur
:)
ensuite j'ai fait aussi pour voir
dans le 2ieme
enleve le FROM
alors j'ai fait
$var_query = "UPDATE bd_prenom, bd_nom, bd_numero_adresse, bd_rue_adresse, bd_ville_adresse tb_totot SET bd_prenom='$var_prenom', bd_nom='$var_nom', bd_numero_adresse='$var_numero_adresse', bd_rue_adresse='$var_rue_adresse', bd_ville_adresse='$var_rue_adresse' WHERE id=$var_id";
voici l'erreur
Table 'test.bd_prenom' doesn't exist
mais on s'en fout
bonne soirée
Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
@*|*@
Hors ligne
la saint Axe excate dans le 2ieme cas est :
update table set champ1=unevalue, champs2=uneautrevalue
a++
Hors ligne