begin process at 2012 05 30 17:58:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

PB d'insertion de données dans BDD avec des checkboxes pré-cochées


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

PB d'insertion de données dans BDD avec des checkboxes pré-cochées

mercredi 28 octobre 2009 à 15:42:46 | PB d'insertion de données dans BDD avec des checkboxes pré-cochées

golant

Bonjour a tous,

Je suis en train de m'arracher les cheveux depuis deux jours , je sais que la solution est sous mes yeux, mais je ne la trouve pas. Je me décide donc a faire appel à votre aide. Voici mon pb :

Via une interface CMS que je suis en train de réaliser, je gère l'ajout, la modification et la supression de données (des News par exemple) dans ma base mysql.
Dans ma page modify.php, je récupère une liste d'entrées de ma base (listing des news), je selectionne une des entrées (la news que je veux modifier) et cela m'affiche toutes les données présentes dans la base (tous les détails de la news) afin que je puisse les modifier. J'effectue les modif et valide. La base se met à jour avec mes nouvelles données modifiées.

Seul petit pb, j'ai une liste de checkbox dans mon form qui pose pb : je peux tout a fait cocher une checkbox qui ne l'était pas auparavant (cela fonctionne et me mets a jour la base), par contre, je ne peux pas décocher une checkbox (ou du moins, cela me la décoche sur le form mais ne me le prends pas en compte dans ma base lors de l'UPDATE SET). Vous me suivez ?

Voici mon code :
Code PHP :
<?php
include("connect.php");
@mysql_connect ($server, $login, $password)
or die ("Erreur : connexion a la base de donnees impossible");
@mysql_select_db($base)
or die ("Erreur : pas de base de donnees ".$base);

if (isset($modify_value)) {
$modify_query = "UPDATE ma_base SET ";
$k = 0;
	while(list($variable, $value) = each($HTTP_POST_VARS)) {
	//make the query
		if (($variable != "radio_field") && ($variable != "modify_value")) {
			if ($k) {
				$modify_query .= ", $variable='$value'";
			} else {
				$modify_query .= "$variable='$value'";
			}
		$k++;
		}
	}
$modify_query .= " WHERE $radio_field='$modify_value'";
$result_query = mysql_query ($modify_query);
}

if (!isset($modify)) {
?>

<html>
<head>
<title>Modify list page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<center>
<form action="modify.php" method="post">
<p class="Style1">Selectionnez une News et cliquez sur modifier</p>
<table width="484">
<?php
$result_query = mysql_query ("SELECT * FROM ma_base");
// submit the query
$num_rows = mysql_numrows($result_query);
// number of rows
$i = 0;
while($i != $num_rows) {
?>
<tr>
<td>
<input type="radio" name="modify" value="<?php  echo mysql_result($result_query,$i,"id");?>">
</td>
<td>
Titre de la News : 
<?php echo mysql_result($result_query,$i,"titre"); ?>
</td>
</tr>

<?php
$i++;
}
?>

</table>

  <input type="submit" value="Modifier la News selectionnée">
  <input type="hidden" name="radio_field" value="id">

</form>
</center>
</body>
</html><?php
mysql_close();
} else {
?>

///////////////////////////////////////////////////////////
//////////// PB A PARTIR D'ICI JE PENSE ///////////////////
///////////////////////////////////////////////////////////

///// Je récupère les données des checkboxes 1, 2 et 3 ///////

<?PHP

$requete_checkboxes="SELECT * FROM ma_base WHERE $radio_field='".$modify."'";
$res=mysql_query($requete_checkboxes)or die('error query');
$data=mysql_fetch_array($res);

$ckb1 = $data['ckb1'];
$ckb2 = $data['ckb2'];
$ckb3 = $data['ckb3'];

////////////////////////////////////////////////////

$modify_query = "SELECT * FROM ma_base WHERE $radio_field='".$modify."'";
$result_query = mysql_query ($modify_query);

?>

<html>
<head>
<title>Modify page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<center>
<form name="modify" action="modify.php" method="post">
<table>
	
<tr>
<td>Catégorie</td>
</tr>

<tr>
<td>
<input type="checkbox" name="ckb1" value="1" <?php
if($ckb1 == 1 ) // Si 1, on pré-coche la case
{ 
echo 'checked="checked"';
} 
else 
{ 
echo ''; 
} 
?> /> Catégorie 1<br>
<input type="checkbox" name="ckb2" value="1" <?php
if($ckb2 == 1 ) // Si 1, on pré-coche la case
{ 
echo 'checked="checked"';
} 
else 
{ 
echo ''; 
} 
?> /> Catégorie 2<br>
<input type="checkbox" name="ckb3" value="1" <?php
if($ckb3 == 1 ) // Si 1, on pré-coche la case
{ 
echo 'checked="checked"';
} 
else 
{ 
echo ''; 
} 
?> /> Catégorie 3<br>
</td>
</tr>

<tr>
<td>Titre</td>
</tr>

<tr>
<td>
<input type="text" name="titre" value="<?php  echo mysql_result($result_query,0,"titre");?>" >
</td>
</tr>

<tr>
<td>Texte</td>
</tr>

<tr>
<td>
<textarea name="texte" cols="62" rows="10" >
<?php  echo mysql_result($result_query,0,"fr_texte");?>
</textarea>
</td>
</tr>

<tr>
<td>&nbsp;</td>
</tr>

<tr>
<td><input type="submit" value="Modifier cette News" >
</td>
<td>
<input name="R&eacute;initialiser" type="reset" value="Effacer les champs">
</td>
</tr>

</table>

<input type="hidden" name="radio_field" value="<?php echo $radio_field;?>">
<input type="hidden" name="modify_value" value="<?php echo $modify;?>">

</form>
</center>
</body>
</html>
<?php
mysql_close();
}
?>


Je ne vois pas d'où vient le pb.

Par avance, merci pour votre aide.

Golant.

PS: Pour plus de lisibilité, J'ai simplifié le form (14 champs en réel qui marchent tous sauf pour ces fichus retraits de données checkbox).


Cette discussion est classée dans : pb, base, checkbox, données, news


Répondre à ce message

Sujets en rapport avec ce message

news sans base de données [ par tipouik ] bonjourc'est la première fois que je viens ici.je suis assez débutante en phpj'ai un site sur lequel j'ai des news, jusqu'à maintenant, c'est un table checkbox et base de données [ par Zebra1928 ] Bonjour à tous,J'ai un pproblème que j'arrive pas à régler, comment supprimer des enregistrements d'une base de données en utilisant des cases à coche UPDATE et checkbox [ par fabrice88 ] Bonjour, j'ai fait un formulaire de mise à jour de ma base de données.Pour modifier une données "texte" j'ai mis cette ligne de commande <input name=" PB Gestion Stock Base De Données [ par presti1 ] Bonjour à tous ;Voilà j'ai un souci . Je réalise pour mon entreprise de location informatique un scripts php pour la gestion du stock.J'ai fais :-Une base de données orienté objet [ par fadiona ] je fais un recherche sur les bases de données orienté objet leur utilité la nouveauté apporté jai pas trouvé Insertion de données d'un formulaire dans une base de données [ par Sogeekette ] Bonjour, J'ai fait un formulaire de saisie, et lorsqu'on clique sur le bouton submit "continuer", on est dirigé vers cette page : <?php $Affaire Base de données [ par crash34 ] salut, voila je vous expose mon probleme. Je cherche a mettre a jour une table d'une base de donnée mais que certains champs les autres restants tels insertion de données d'un tableau, dont on ne connait pas la taille, dans une base de données [ par Sogeekette ] Bonjour, Voila, j'ai un tableau de saisies, où l'on peut ajouter des lignes de saisies, et je souhaiterais envoyer les données en base mysql. Comment 2 en 1 [ par Sogeekette ] Bonjour, J'ai créé 2 formulaires de saisies, pour une question de simplicité d'utilisation, et je souhaiterais envoyer les données entrées dans une s image réactive avec base de données [ par tibchrist ] Salut tout le monde,    mon projet sous windows (je suis sous dreamweaver avec easyphp 1.8 et mysql est de construire une page avec deux frames,avec d


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,499 sec (4)

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