Salve, ho un problema con checkbox dinamici inserimento database e checked.
Mi spiego meglio:
Sto realizzando un sito dinamico per una società di vendita case.
Ho un tabella "TBLPROPERTIES" della proprietà con vari campi: metri quadrati, località, etc.
In una altra tabella "CAPTIONS" composta di due colonne (id,caption) ho una lista di servizi/accessori delle case stesse: piscina, aria condizionata, giardino, etc
Quando creo una proprietà non ho nessun problema, nel form creo le checkbox direttamente prendendo i campi dalla tabella " CAPTIONS " e inserisco i dati in una altra tabella "FEATURES" composta di tre colonne (id_feat,id_pro,id_cap) dove id_pro = id proprietá e id_cap = id caption.
Il problema mi nasce quando voglio modificare la proprietà e necessito di ottenere i checkbox "checked" e non "checked"
utilizzo questo codice, pero il risultato è doppioni di checkbox:
<?php
$fid = "proprietà id da request"
$query = "SELECT * FROM captions order by caption";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$query2 = "SELECT * FROM features where id_pro=$fid";
$result2 = mysql_query($query2);
while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) {
?>
<input type="checkbox" name="caption[]" value="<?php echo $row['id']?>" <?
if ($row2['id_cap']==$row['id'])
{
echo "checked";
}
?>><?php echo $row['caption']?>
<?php }} ?>
Praticamente il risultato è due checkbox uguali, una checked se nella tabella features ho l'id della propritá e l'id del caption, e una non checked.
sicuro l'errore mio è nei due while, pero da ignorante in materia, non só come soluzionare il problema.
Vi ringrazio per l'attenzione.