Ricaricare pagina per sotto menu: forse in javascript?

Avete presente quando sul sito dell'Ati, per trovare un diver, selezionavate il sistema operativo ela pagina si ricaricava per mostrare un sotto menu?

Vorrei fare qualcosa di analogo.

Per assegnare delle categorie a dei prodotti (in un cms).

vorrei fare una cosa così:

Selezioni la gategoria generale.

if (c'è la sottocategoria) {

ricarica la pagina e mostra le opzioni della sottocategoria

}

Come lo facevano? con un JS?

Ajax faceva qualcosa di simile o sbaglio?

Tnks

inviato 10 anni fa
arjuna
X 0 X

Come lo facevano? con un JS?

Ajax faceva qualcosa di simile o sbaglio?

Si, si tratta di javascript. Con Ajax si potrebbero aggiornare le select senza ricaricare la pagina ma è molto più complesso da usare.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

mi sai dare qualche keyword per cercare in rete qualcosa a tal riguardo?

risposto 10 anni fa
arjuna
X 0 X

Sul javascript o su Ajax?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Su javascript.

Nel frattempo ho lavorato alla generazione di un array super mega multi dimensionale per contenere i dati...

solo che mi sembra estremamente confusionario

L'array completo (li dove esistono tutte le sottocategorie preveiste), ha questa struttura:

$categorie[$n]['sub_cat'][$x]['sub_cat'][$y]['nome']

dove:

$n è l'indice delle categorie base

$x è l'indice delle sotto categorie

$y è l'indice delle sotto sotto categorie

Vi posto il codice che lo genera:

<?php
      function showCat () {

      $categorie = array();

      $query = "SELECT id, nome, sub_cat FROM cat";

      $catTmp = $this->db->getAll($query);

      $n = 0;
      foreach ($catTmp as $key=>$value) {

         $categorie [$n] = array ();

         $categorie[$n]['id'] = $catTmp[$key]['id'];
         $categorie[$n]['nome'] = $catTmp[$key]['nome'];
         $categorie[$n]['sub_cat'] = $catTmp[$key]['sub_cat'];

         if ($categorie[$n]['sub_cat'] !== 'no') {

            $query = "SELECT id, nome, sub_cat FROM " . $categorie[$n]['sub_cat'];

            $sub_cat = $this->db->getAll($query);

            $x = 0;
            foreach ($sub_cat as $key2=>$value2) {

               if (!is_array($categorie[$n]['sub_cat']))
                  $categorie[$n]['sub_cat'] = array ();


               if (!is_array($categorie[$n]['sub_cat'][$x]))
                     $categorie[$n]['sub_cat'][$x] = array ();

               $categorie[$n]['sub_cat'][$x]['id'] = $sub_cat[$key2]['id'];
               $categorie[$n]['sub_cat'][$x]['nome'] = $sub_cat[$key2]['nome'];
               $categorie[$n]['sub_cat'][$x]['sub_cat'] = $sub_cat[$key2]['sub_cat'];

               if ($categorie[$n]['sub_cat'][$x]['sub_cat'] !== 'no') {

                  $query = "SELECT id, nome FROM " . $categorie[$n]['sub_cat'][$x]['sub_cat'];

                  $sub_sub_cat = $this->db->getAll($query);

                  $y = 0;
                  foreach ($sub_sub_cat as $key3=>$value3) {


                     if (!is_array($categorie[$n]['sub_cat'][$x]['sub_cat']))
                        $categorie[$n]['sub_cat'][$x]['sub_cat'] = array ();


                     if (!is_array($categorie[$n]['sub_cat'][$x]['sub_cat'][$y]))
                           $categorie[$n]['sub_cat'][$x]['sub_cat'][$y] = array ();

                     $categorie[$n]['sub_cat'][$x]['sub_cat'][$y]['id'] = $sub_sub_cat[$key3]['id'];
                     $categorie[$n]['sub_cat'][$x]['sub_cat'][$y]['nome'] = $sub_sub_cat[$key3]['nome'];

                     $y++;
                  }
               }

               $x++;
            }
         }

         $n++;
      }

      echo "<pre>";
      print_r ($categorie);
      echo "</pre>";
   }
?>
risposto 10 anni fa
arjuna
X 0 X

Su javascript.

Nel frattempo ho lavorato alla generazione di un array super mega multi dimensionale per contenere i dati...

solo che mi sembra estremamente confusionario

L'array completo (li dove esistono tutte le sottocategorie preveiste), ha questa struttura:

$categorie[$n]['sub_cat'][$x]['sub_cat'][$y]['nome']

dove:

$n è l'indice delle categorie base

$x è l'indice delle sotto categorie

$y è l'indice delle sotto sotto categorie

Vi posto il codice che lo genera:

<?php
      function showCat () {

      $categorie = array();

      $query = "SELECT id, nome, sub_cat FROM cat";

      $catTmp = $this->db->getAll($query);

      $n = 0;
      foreach ($catTmp as $key=>$value) {

         $categorie [$n] = array ();

         $categorie[$n]['id'] = $catTmp[$key]['id'];
         $categorie[$n]['nome'] = $catTmp[$key]['nome'];
         $categorie[$n]['sub_cat'] = $catTmp[$key]['sub_cat'];

         // il valore predefinito di sub_cat  è no
         // se non è no allora corrisponde al nome della tabella della sottocategoria
         if ($categorie[$n]['sub_cat'] !== 'no') {

            $query = "SELECT id, nome, sub_cat FROM " . $categorie[$n]['sub_cat'];

            $sub_cat = $this->db->getAll($query);

            $x = 0;
            foreach ($sub_cat as $key2=>$value2) {

               if (!is_array($categorie[$n]['sub_cat']))
                  $categorie[$n]['sub_cat'] = array ();


               if (!is_array($categorie[$n]['sub_cat'][$x]))
                     $categorie[$n]['sub_cat'][$x] = array ();

               $categorie[$n]['sub_cat'][$x]['id'] = $sub_cat[$key2]['id'];
               $categorie[$n]['sub_cat'][$x]['nome'] = $sub_cat[$key2]['nome'];
               $categorie[$n]['sub_cat'][$x]['sub_cat'] = $sub_cat[$key2]['sub_cat'];

               if ($categorie[$n]['sub_cat'][$x]['sub_cat'] !== 'no') {

                  $query = "SELECT id, nome FROM " . $categorie[$n]['sub_cat'][$x]['sub_cat'];

                  $sub_sub_cat = $this->db->getAll($query);

                  $y = 0;
                  foreach ($sub_sub_cat as $key3=>$value3) {


                     if (!is_array($categorie[$n]['sub_cat'][$x]['sub_cat']))
                        $categorie[$n]['sub_cat'][$x]['sub_cat'] = array ();


                     if (!is_array($categorie[$n]['sub_cat'][$x]['sub_cat'][$y]))
                           $categorie[$n]['sub_cat'][$x]['sub_cat'][$y] = array ();

                     $categorie[$n]['sub_cat'][$x]['sub_cat'][$y]['id'] = $sub_sub_cat[$key3]['id'];
                     $categorie[$n]['sub_cat'][$x]['sub_cat'][$y]['nome'] = $sub_sub_cat[$key3]['nome'];

                     $y++;
                  }
               }

               $x++;
            }
         }

         $n++;
      }

      echo "<pre>";
      print_r ($categorie);
      echo "</pre>";
   }
?>
risposto 10 anni fa
arjuna
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda