begin process at 2012 05 31 16:56:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

récupération de données d'un table dans un formulaire pour modification


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

récupération de données d'un table dans un formulaire pour modification

samedi 31 juillet 2010 à 00:55:42 | récupération de données d'un table dans un formulaire pour modification

Frosch

Bonjour à tous,

Voila maintenant plusieurs jours que je galère avec une question qui n'a pas l'air d'en être une mais je coince.

Je parviens à récupérer et afficher les données à modifier d'une fiche depuis ma table sql mais je ne parviens pas à les insérer dans les champs de mon formulaire qui restent vides et que je souhaiterai voir pré-remplis. La chose parait très simple mais je ne sait pas pourquoi je n'y arrive pas
je vous donne une partie du code, si une bonne âme peut éclairer ma lanterne.
je suis également preneur de tous conseils notamment sur la sécurité.

d'avance merci.

<?php
// on s'assure que c'est bien l'administrateur qui doit taper son mot de passe
include "xxxxxxx.php";
// ici commence la récupération des informations sur la base, table etc...
include "../infobase.php";
// on se connecte à la base de donnée Mysql
$dbconnect = mysql_connect($host,$login,$pass) or die ("erreur de connexion");
// on sélectionne la base
mysql_select_db($db,$dbconnect) or die ("erreur de connexion base");
$modfiche=$_GET['modfiche'];
// on prépare la requête dans la table en ne sélectionnant que la fiche à modifier grâce à modfiche
$affiche_fiche="SELECT * FROM $table WHERE id='$modfiche' ";
// on exécute la requête
$req = mysql_query($affiche_fiche) or die ("erreur sql <br />\n");
// on ferme la base
mysql_close();
// on sélectionne les colonnes num,crea,nom,email,tel,photo... de la table qu'on affiche
while ( $resultat = mysql_fetch_array($req))
{
echo "<font color=#FFFFFF size='1' face='Verdana'><p align='center'>";
echo "<div align=center>";
echo "<table width=500 border=1 cellspacing=0 cellpadding=0 bordercolor=#000000 bgcolor=#f1f1f1>";
echo "<font color=#000000 size='4' face='Verdana'><p align='center'>FICHE A MODIFIER</font></p>";
echo "<tr><td colspan='2'>";
echo "<p align='center'><font color=#000000 size='2' face='Verdana'>";
echo "FICHE N°$resultat[num] - Enregistré(e) le $resultat[crea]</p></font></td>";
echo "</tr><tr><td><img src='../photos/$resultat[photo]'></td>";
echo "<td width=1800 valign='top' style='padding-left: 4'>";
echo "<font color=#000000 size='2' face='Verdana'><b>nom:</b>";
echo "<a href = mailto:$resultat[email]>$resultat[nom]</a>";
echo "<b>Prénom : </b>$resultat[prenom]";
echo "<br>";
echo "<b>Téléphone : </b>$resultat[tel]";
echo "</td>";
echo "</tr>";
echo "<font color=#FFFFFF size='2' face='Verdana'>";
echo "</table></div></p>";
}
?>
<!-- on affiche la page -->
<html>
<head>
<!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
<!-- <meta name="GENERATOR" content=""> -->
<font color=#000000 size='1' face='Verdana'><p align='center'>
<title>Modification d'une fiche d'un membre du PPB13</title>
<link rel="stylesheet" type="text/css" href="../site.css" />
</head>
<body>
<h1>Modifiez le formulaire</h1>
<form id="SITEFOrm" method="post" action="soumettremodif.php" enctype="multipart/form-data">
<fieldset>
<legend>Informations</legend>
<p>
<!-- on affiche le champ nom dans lequel on met la valeur déjà entrée -->
<label for="form_nom">Nom : </label>
<input type="text" id="form_nom" name="identifiant" value="<?php echo $resultat[nom] ;?>"/>
</p>
</td>
</tr>
<tr>
<td>
<p>
<!-- on affiche le champ prénom dans lequel on met la valeur déjà entrée -->
<label for="form_prenom">Prénom : </label>
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat[prenom] ;?>"/>
</p>
</td>
</tr>
<tr>
<td>
<p>

etc................
samedi 31 juillet 2010 à 18:48:07 | Re : récupération de données d'un table dans un formulaire pour modification

mailliam

Réponse acceptée !
Tchô,

moi dans la partie php au lieu par exemple de:
echo "FICHE N°$resultat[num] - Enregistré(e) le $resultat[crea]";
J'écrirais comme ca:
echo 'FICHE N°'.$resultat[num].' - Enregistré(e) le '.$resultat[crea];

et pour la partie html, à mon avis ca me marche pô car tes variables sont hors de ta boucle while:
enlève la } et ajoute <? } ?> après la dernière variable..

Je n'sais pas si j'ai raison, mais c'est d'après moi la seule erreur..
Tu m'diras si ca marche
A++
samedi 31 juillet 2010 à 18:55:47 | Re : récupération de données d'un table dans un formulaire pour modification

mailliam

oups attends j'crois que j'ai pas tout bien lu là..
c'est un même fichier .php ou c'est une page.php et une page.html dans 2 fichiers distincts??

car tu mets
echo "</table></div></p>";
}
?>
<!-- on affiche la page -->
<html>
<head>

je comprend pas bien ce que tu veux faire :/
lundi 2 août 2010 à 01:12:08 | Re : récupération de données d'un table dans un formulaire pour modification

Frosch

D'abord un grand merci avoir pris le temps de répondre

bon ca doit surement pas se faire mais c'est une page php dans laquelle je met du code html après ma balise ?> et c'est bien le même fichier.

J'ai repris le formulaire de création de fiche qui est formaté par du CSS et je voulais alimenter ce formulaire par les données de la fiche sélectionnée mais ils sont vides.

je changerai la syntaxe des variables mais cette partie fonctionne très bien. J'ai bien l'affichage de mes données.

Tu dois avoir raison pour la bouche while. Je ferai le test Lundi soir et te dirais ce qu'il en ressort.
lundi 2 août 2010 à 10:08:43 | Re : récupération de données d'un table dans un formulaire pour modification

mailliam

Re,
oui tu peux mettre du code html dans une page .php, mais faut pas remettre tout l'entête (<html><head>...) au milieu de la page, faut juste le mettre au début (même si tu commence tout de suite en .php)
taPage.php donnera qque chose comme ca:

Code PHP :
<html>
<head>
<LINK REL="SHORTCUT ICON" HREF="site.ico"><!-- si tu veux mettre une icone a ton site -->
<title>Modification d'une fiche d'un membre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="../site.css" />
</head>
<body>
<?php
// on s'assure que c'est bien l'administrateur qui doit taper son mot de passe
include "xxxxxxx.php";
// ici commence la récupération des informations sur la base, table etc...
include "../infobase.php";
// on se connecte à la base de donnée Mysql
$dbconnect = mysql_connect($host,$login,$pass) or die ("erreur de connexion");
// on sélectionne la base
mysql_select_db($db,$dbconnect) or die ("erreur de connexion base");
$modfiche=$_GET['modfiche'];
// on prépare la requête dans la table en ne sélectionnant que la fiche à modifier grâce à modfiche
$affiche_fiche="SELECT * FROM $table WHERE id='$modfiche' ";
// on exécute la requête
$req = mysql_query($affiche_fiche) or die ("erreur sql <br />\n");
// on ferme la base
mysql_close();
// on sélectionne les colonnes num,crea,nom,email,tel,photo...
//et on les affiche dans la boucle
while ( $resultat = mysql_fetch_array($req))
{
// ci-dessous tu reviens en html (tu n'as pas besoin de mettre de balise <html> il y a juste fin de php
?>

<table width=500 border=1 cellspacing=0 cellpadding=0 bordercolor=#000000 bgcolor=#f1f1f1>
<tr><td align=center><font color=#000000 size='2' face='Verdana'>
<?
//pour afficher tes variables, soit en php comme ceci: echo 'le code html'.$resultat[num] ;
echo 'FICHE N°'.$resultat[num].' - Enregistré(e) le '.$resultat[crea];
?>
<!-- soit en html avec juste les balises php autour de la variable comme cela: <? echo $resultat[photo] ?> -->
</font></td><td><img src='../photos/<? echo $resultat[photo] ?>'></td>
</tr>
</table>



<!-- on affiche le formulaire (comme sur la page .html) -->

<h1>Modifiez le formulaire</h1>
<form id="SITEFOrm" method="post" action="soumettremodif.php" enctype="multipart/form-data">
<fieldset>
<legend>Informations</legend>
<p>
<!-- on affiche le champ nom dans lequel on met la valeur déjà entrée -->
<label for="form_nom">Nom : </label>
<input type="text" id="form_nom" name="identifiant" value="<?php echo $resultat[nom] ;?>"/>
</p>
<p>
<!-- on affiche le champ prénom dans lequel on met la valeur déjà entrée -->
<label for="form_prenom">Prénom : </label>
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat[prenom] ;?>"/>
</p>
<? //tu dois repasser en php pour fermer ta boucle while
}
?>
</body>

</html>


bon faut revoir un peu la mise en page, j'ai enlevé des <table><tr>.. et j'ai pas tout remis je crois lol
lundi 2 août 2010 à 11:14:32 | Re : récupération de données d'un table dans un formulaire pour modification

narkos2

Hello,

Heu pour afficher les valeurs dans les input comme voulu sur cette ligne:
Code PHP :
<?php
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat[prenom] ;?>"/>
?>

Plutôt comme ça:
Code PHP :
<?php
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat['prenom'] ;?>"/>
?>


Ou sinon si le nom du champ mysql serait contenu dans une variable:
Code PHP :
<?php
$le_champ = "prenom";
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat[$le_champ] ;?>"/>
?>


Sinon la structure de la page n'a pas l'air top, essayer de repartir au propre sur une autre page ou prend exemple sur celle présentée par "mailliam"...

Bonne continuation
lundi 2 août 2010 à 11:20:08 | Re : récupération de données d'un table dans un formulaire pour modification

narkos2

Oups j'ai mis des <?php ?> pour chaque code ;)

Je remet le message propre dsl ;)

Hello,

Heu pour afficher les valeurs dans les input comme voulu sur cette ligne:

Code HTML :
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat[prenom] ;?>"/>



Plutôt comme ça:

Code HTML :
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat['prenom'] ;?>"/>




Ou sinon si le nom du champ mysql serait contenu dans une variable(on sait jamais lol):

Code PHP :
<?php
$le_champ = "prenom";
?>
<input type="text" id="form_prenom" name="prenom" value="<?php echo $resultat[$le_champ] ;?>"/>




Sinon la structure de la page n'a pas l'air top, essayer de repartir au propre sur une autre page ou prend exemple sur celle présentée par "mailliam"...

Bonne continuation
mardi 3 août 2010 à 14:30:47 | Re : récupération de données d'un table dans un formulaire pour modification

Frosch

@mailliam
Bien joué pour le coup de <? } ?> parce que c'est bon, j'ignorai qu'une fois la boucle refermée les variables sont vides tout simplement (je vais me pencher à nouveau sur le sujet) alors que je pensais qu'elle étaient déclarées pour toute la page.
Merci pour le reste de tes explications c'est clair et finalement très utile.
Je vais refaire tout cela dans un style plus propre...

ne t'inquiète pas pour la mise en page je m'en sortirai et puis c'est pas un truc pro qui sera géré par une seule personne, le but étant qu'elle n'ai pas à utiliser phpmyadmin et modifier la base en direct. En bref si c'est fonctionnel je ne vais pas me torturer pour le rendu.

@Narkos2
Merci pour ton aide également

Et bonne fin de semaine...


Cette discussion est classée dans : table, formulaire, resultat, echo, fiche


Répondre à ce message

Sujets en rapport avec ce message

[PB PHP]ouvrir un fichier pdf à l'aide d'un formulaire [ par sidewolf ] bonjour à tous, comme vous vous en doutez j'ai un petit problème pour ouvrir un fichier pdf en fonction des choix sélectionné dans un formulaire. Dès formulaire et table [ par guyvdv ] Bonjour, j un petit problemdans ce script tres simple j recoi evidement le champs text et le bouton 'submit' sur une ligne,MAIS endesous de cette lign Champ obligatoire [ par chlock ] Salut a tous, j'ai un formulaire et j'aimerai bloquer l'envoi tant que certains champs ne sont pas rempli. et qu'unefois le formulaire rempli l'envoi Recuperer les donnees d'une formulaire [ par fadoua123 ] Bonjour voila j'ai besoin de remplir une matrice manuellement en utilisant une formulaire et de récupérer ces valeurs (comme array )pour faire des cal Afficher le nombre de jour en fonction du mois saisi dans le formulaire [ par lune2009 ] Bonjour,j'aimerais afficher dans un tableau,ou le nombre de ligne correspond au nombre des jours qui existe dans le mois,sachant que la valeur du moi problème dans le formulaire de contact [ par heromm ] salut tt le monde, je ss débudante en cms, je viens de créer mon site en cms simple made 1.5.2 "Caguas". Mon prob est que j'ai créer mon formulaire de smtp failed formulaire de reservation [ par zinemora ] Bonjour tous, j'essai d'envoyer un email avec une page web php et lorsuqe j'envoie il me lance se message d'erreur : mail(): Failed to connect to


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales