Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 09/02/2010, 15h20   #1 (permalink)
maf
Futur Membre du Club
 
Date d'inscription: juin 2003
Messages: 36
Par défaut Formulaire récupère données de la table pour édition

Bonjour à tous, j'espère que vous pourrez m'aider sur mon problème.

J'ai certaines informations sur des membres qui se trouvent dans une base de donnée, lorsque j'affiche la liste, j'ai plusieurs choix dont éditer les données d'un membre par l'intermédiaire d'un formulaire

La page qui appelle le formulaire contient le code suivant :

Code :
if (@$_GET["action"] == "edit") {
    $sql  ="SELECT *  FROM `inscription` WHERE `ID` =".$_GET["id"];
	$res = $con->sendSql($sql);
	$row = mysql_fetch_array($res, MYSQL_ASSOC);
	$action = "editExec";
	include "formulaire.php";
	
}
if (@$_POST["action"] == "editExec") {
    foreach($_POST as $k => $v){
		$p[$k] = addslashes($v);
	}
	$sql = "UPDATE `inscription` SET 
   	`Nom` = '".$p["Nom"]."',
	`Prenom` = '".$p["Prenom"]."',
	`Adresse` = '".$p["Adresse"]."',
	`Ville` = '".$p["Ville"]."',
	`Tel` = '".$p["Tel"]."',
	`Mail` = '".$p["Mail"]."',
	`c1` = '".$p["c1"]."',
        `c2` = '".$p["c2"]."'
	WHERE `ID` = ".$p["id"]." LIMIT 1;";
	$con->sendSql($sql);
Les champs du formulaire prennent alors les valeurs respectives de l'enregistrement de la personne à savoir Nom, Prenom, Adresse ... dans des champs qui sont codés comme cela :

Code :
<input name="Nom" type="text" id="Nom" value="<?=stripslashes(@$row["Nom"])?>" size="60">
Après je peux les modifier sans problèmes en validant faisant les modifications nécessaires puis en validant le formulaire. Seul hic, le champ c1 est du type case à cocher qui dans le formulaire de base est codée comme cela :
Code :
<input type="checkbox" id="c1" name="c1" value="Présent">
et j'aurais plusieurs cases à cocher qui auront différentes valeurs c2, c3, ...

Quand je fais l'édition de l'enregistrement de la personne, j'aimerais que si la case a été cochée et donc que la valeur par exemple Présent pour c1 se trouve dans la base, la case à cocher se coche à nouveau ! Et ça ... mystère quant à savoir comment le faire !!
(Imaginons que je doive modifier l'enregistrement de M. Tartanpion et que je ne coche plus c1 mais c2 et c3 pour lui ... j'aimerais avoir de prime à bord un formulaire qui s'ouvre avec c1 cochée que je vais décocher, ...)

Merci à vous !!!!!!
maf est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 16h44   #2 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 018
Par défaut

Si $row['c1'] vaut ce que tu veux, tu ajoutes checked="checked" à ta case à cocher.

Le seule subtilité à savoir pour les cases à cocher, est que si une case est decochée, elle ne renvoi rien dans le formulaire.
Il faut donc tester isset($_POST['c1']) pour savoir si la case a été cochée ou decochée.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 23h41.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.