Salve a tutti.
Ho un problema su un form per la modifica di dati inseriti nel DB con un checkbox.
So di essere vicino alla soluzione ma mi sono perso!!
La checkbox mi deve permettere di modificare il valore nel DB da 0 a 1 o viceversa.
Ora, il form mi restituisce già il valore corretto, ma se modifico la condizione, tale condizione non viene salvata nel DB.
Probabilmente è solo una questione di query!
Il codice della pagina è questo (ho omesso gli altri campi):
<?php
require("inc/config.php");
DB_Connect();
$query = DB_Query("SELECT * FROM $table WHERE News_ID = '$News_ID'");
$result = DB_Get_Results($query);
if ($_POST['cmd'] == FALSE)
{
echo "<form name=\"form\" action=\"{$_SERVER['PHP_SELF']}\" method=\"post\">\n";
echo " <link rel=STYLESHEET type=text/css href=../../stili.css>\n";
echo " <body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 bgcolor=#336699>\n";
echo "<div id=LayoutTable>\n";
echo "....................
.......................\n";
//TESTO EVIDENZIATO
echo " <tr>\n";
echo " <td height=24 width=150 valign=middle>\n";
echo " <p class=destro><span class=TESTObianco>Evidenza News  </span></p></td>\n";
echo " <td width=350 colspan=2 valign=middle>\n";
echo " <input name=\"abilitato[]\" type=\"checkbox\" value=\"$News_Bool[News_ID]\"\n";
if ($result[9] == 1)
{
print "checked";
}
echo " </tr>\n";
//SUBMIT
echo " <tr>\n";
echo " <td height=40 width=500 colspan=4 valign=middle>\n";
echo " <input type=\"hidden\" name=\"cmd\" value=\"edit\" />\n";
echo " <input type=\"hidden\" name=\"News_ID\" value=\"{$_GET['News_ID']}\" />\n";
echo " <p class=centrato><input type=\"submit\" value=\"Aggiorna dati\" style=\"border: 1 outset; background-color:#BFE5FF;outline: none\"> </p></td>\n";
echo " </tr>\n";
echo " </table>\n";
echo " </td>\n";
echo " <td height=448></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td width=500><img src=../../Resources/_clear.gif border=0 width=500 height=1 alt=></td>\n";
echo " <td width=2 height=1><img src=../../Resources/_clear.gif border=0 width=2 height=1 alt=></td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "</div>\n";
echo "</form>\n";
}
else
{
DB_Query("UPDATE `$table` SET
`News_DateStart` = '" . $_POST['News_DateStart'] . "',
`News_DateEnd` = '" . $_POST['News_DateEnd'] . "',
`News_Title` = '" . $_POST['News_Title'] . "',
`News_SubTitle` = '" . $_POST['News_SubTitle'] . "',
`News_Text` = '" . $_POST['News_Text'] . "',
`News_Link` = '" . $_POST['News_Link'] . "'
WHERE `News_ID` = '" . $_POST['News_ID'] . "';");
//ABILITAZIONE SI/NO CHECKBOX
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form"))
{
DB_Query("UPDATE $table SET News_Bool='0'");
DB_Query("UPDATE $table SET News_Bool='1' WHERE News_ID IN (".implode(',',$_POST['abilitato']).");");
}
}
DB_Close();
?>
La struttura del DB é tinyint 1 default 0 e il nome é News_Bool.
Premetto che mi sono già letto praticamente tutti i post su questo argomento e dai quali ho anche già attinto parecchio ma ora sono al palo.
C'è qualcuno che gentilmente mi sa dire dove sbaglio?
Grazie, confido in voi geni.
Ric