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