Freegate
2008-06-29 06:46:51 UTC
Bonjour,
Voila le code que j'utilise pour mettre à jour ma base de données :
if (isset($_POST['submit']))
{
$sql="";
foreach ($_POST as $indice => $valeur)
{
if ($indice!="submit") {$sql=$sql."
".$indice."='".htmlentities($valeur)."',";}
}
$sql=substr($sql, 0, -1);
echo $sql;
$req="UPDATE $table SET $sql WHERE $filtre";
mysql_query($req) or die (mysql_error()." : ".$req);
}
Ce script a été mis en place pour mettre à jour n'importe quelle page
de mon site. Mon problème est que dans mon formulaire à envoyer, j'ai
plusieurs champs de type checkbox. Lorsque les cases à cocher ne le
sont pas, les POST['checkbox'] ne sont pas initialisés, et les champs
correspondants dans la base mysql ne peuvent se mettre à jour avec la
valeur "0". Par contre quand la case est cochée le POST renvoie bien la
valeur "1").
Avez-vous une astuce pour régler ce problème, sans perdre l'idée que le
script de mise à jour est un include qui doit fonctionner avec
n'importe quelle page de mon site ?
Merci.
Voila le code que j'utilise pour mettre à jour ma base de données :
if (isset($_POST['submit']))
{
$sql="";
foreach ($_POST as $indice => $valeur)
{
if ($indice!="submit") {$sql=$sql."
".$indice."='".htmlentities($valeur)."',";}
}
$sql=substr($sql, 0, -1);
echo $sql;
$req="UPDATE $table SET $sql WHERE $filtre";
mysql_query($req) or die (mysql_error()." : ".$req);
}
Ce script a été mis en place pour mettre à jour n'importe quelle page
de mon site. Mon problème est que dans mon formulaire à envoyer, j'ai
plusieurs champs de type checkbox. Lorsque les cases à cocher ne le
sont pas, les POST['checkbox'] ne sont pas initialisés, et les champs
correspondants dans la base mysql ne peuvent se mettre à jour avec la
valeur "0". Par contre quand la case est cochée le POST renvoie bien la
valeur "1").
Avez-vous une astuce pour régler ce problème, sans perdre l'idée que le
script de mise à jour est un include qui doit fonctionner avec
n'importe quelle page de mon site ?
Merci.