Back to top

Autore Topic: POPOLARE tendine form da db  (Letto 1387 volte)

Offline claudiovis

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
POPOLARE tendine form da db
« il: 05 Mar 2013, 16:34:17 »
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 - PROD
1 - cat_1 - s_cat_1 -  prod_1
2 - cat_1 - s_cat_1 -  prod_2
3 - cat_1 - s_cat_2 -  prod_3
4 - cat_1 - s_cat_3 -  prod_4
5 - cat_2 - s_cat_1 -  prod_5
6 - cat_2 - s_cat_1 -  prod_6
7 - cat_2 - s_cat_2 -  prod_7

partiamo da principio...  vado ad interrogare il db di joomla  ...
prima select:

Codice: [Seleziona]
<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'
Codice: [Seleziona]

 <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 ...

Codice: [Seleziona]
<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   :'(

 



Web Design Bolzano Kreatif