provo a postare in questa sezione dato che comunque si parla di database.... io sono un neofita, ho provato usando chronoform o simili ma rinuncio! ...mi son detto... vado di codice.
forse ci si arrangia meglio col codice... mi date una mano?
la tabella è fatta così
ID - CAT - SOTTOCAT - PROD1 - cat_1 - s_cat_1 - prod_12 - cat_1 - s_cat_1 - prod_23 - cat_1 - s_cat_2 - prod_34 - cat_1 - s_cat_3 - prod_45 - cat_2 - s_cat_1 - prod_56 - cat_2 - s_cat_1 - prod_67 - cat_2 - s_cat_2 - prod_7partiamo da principio... vado ad interrogare il db di joomla ...prima select:<form action="?" method="POST">
<?php
$nome_selected = JRequest::getInt('CAT', 'SOTTOCAT', 'post');
$db =& JFactory::getDBO();
$query = "
SELECT `id`,`CAT`, `SOTTOCAT`, `PROD`
FROM `drgww_prodotti_sito`
ORDER BY `CAT`
";
$db->setQuery($query);
$nomes = $db->loadAssocList('CAT');
$nome_options = "";
foreach ( $nomes as $v ) {
if ( $nome_selected == $v['CAT'] ) {
$selected = "selected='selected'";
} else {
$selected = '';
}
$nome_options .= "<option value='". $v['CAT']."' $selected >".$v['CAT']."</option>";
}
?>
<label style="width: 150px;">Categoria</label>
<select id="categoria" size="1" title="" name="categoria">
<?php echo $nome_options; ?>
</select>
NON SO PER QUALE MOTIVO (dato che non ne so molto ma provo ad arrangiarmi)ma funziona e mi tira fuori la lista di categorie.... togliendo i duplicati.ora per fare in modo che una volta scelta la CAT venga popolata una seconda select con la SOTTOCAT come si fa? come richiamo i dati dal db in questo script?
dovrebbe popolarmi la seconda select con
SELECT sottocat FROM drgww_prodotti_sito WHERE cat = 'quella selezionata nella prima select'
<label style="width: 150px;">SottoCategoria</label>
<select id="sottocategoria" size="1" title="" name="sottocategoria">
<?php echo $scat_options; ?>
</select>
ho messo questo js che dovrebbe passarmi dalla prima alla seconda il dato ...
<script type="text/javascript">
$(document).ready(function(){
var scegli = '<option value="0">Scegli...</option>';
var attendere = '<option value="0">Attendere...</option>';
$("select#sottocategoria").html(scegli);
$("select#sottocategoria").attr("disabled", "disabled");
$("select#categoria").change(function(){
var fam = $("select#categoria option:selected").attr('value');
$("select#sottocategoria").html(attendere);
$("select#sottocategoria").attr("disabled", "disabled");
$.post("?", {categoria:fam}, function(data){
$("select#sottocategoria").removeAttr("disabled");
$("select#sottocategoria").html(data);
});
});
});
</script>
grazie all'animo gentile che può darmi una mano