Provato, pero sempre mi mostra y record ripetuti.
Le due tabelle sono queste:
prima
CREATE TABLE IF NOT EXISTS `captions` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`caption_en` varchar(50) DEFAULT NULL,
`caption_fr` varchar(50) NOT NULL,
`caption_es` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Dump dei dati per la tabella `captions`
--
INSERT INTO `captions` (`id`, `caption_en`, `caption_fr`, `caption_es`) VALUES
(1, 'Pool', 'Piscine', 'Piscina'),
(2, 'Air Conditioning', 'Climatisation', 'Aire Acondicionado'),
(3, 'Terrace', 'Terrasse', 'Terraze');
seconda
CREATE TABLE IF NOT EXISTS `features` (
`id_feat` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_pro` varchar(10) NOT NULL,
`id_cap` varchar(10) NOT NULL,
PRIMARY KEY (`id_feat`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Dump dei dati per la tabella `features`
--
INSERT INTO `features` (`id_feat`, `id_pro`, `id_cap`) VALUES
(1, '1', '2'),
(2, '1', '1');
e la query che utilizzo è questa:
<?php
$fid = '1';
$query = "SELECT * FROM captions order by caption_es";
$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_es']?>
<?php }} ?>
Ho allegato una immagine con il risultato.
vorrei que si vedessero i checkbox selezionati e quelli vuoti, peró non doppi..
Causa il fatto che sono solo un mago del copia incolla..., non riesco a capire come soluzionare il problema.
Grazie in anticipo per aiutarmi.