Mostra e nascondi <div>

  • Creatore Discussione Creatore Discussione ferr
  • Data di inizio Data di inizio

ferr

Nuovo Utente
17 Nov 2014
10
0
0
Salve a tutti ho un problema che non riesco a spiegarmi.

Io ho questo codice: dove la funzione in javascript MostraNasconda mi permette di visualizzare e nascondere il testo alla premuta del bottone

Codice:
<script type="text/javascript">
     var mostra=true;
     function MostraNascondi() {
         if (mostra)
              document.getElementById("lezioni").style.display="block";
         else
              document.getElementById("lezioni").style.display="none";
         mostra=!mostra;
     }
</script>


PHP:
<?php
// Elenco degli esami
$query = "SELECT id, fullname FROM course";
$result = mysql_query($query, $con);
echo "Esami";
while($row=mysql_fetch_array($result))
{
      echo "<p>".$row['id']." ".$row['fullname'];
?>        

      <button type="submit" name="mostra" value="mostra" onclick="MostraNascondi();">Visualizza lezioni</button>

      <div id="lezioni" style="display:none;">
      <?php
            // Elenco delle lezioni per l'esame scelto
            $query1 = "SELECT name FROM lesson WHERE course=$row['id'];";
            $result1 = mysql_query($query1, $con);
            echo "Lezioni";
            while($row1=mysql_fetch_array($result1))
            {
                  echo $row1[0]."<br>";
             }
       ?>
       </div>
<?php
}        // chiusura while degli esami
?>


Alla fine ottengo una roba di questo genere:
esame1 visualizza lezioni
esame2 visualizza lezioni
esame3 visualizza lezioni

Il mio obiettivo è che per ogni esame, alla premuta del bottone corrispondente, venga visualizzato l'elenco delle lezioni di quel determinato esame.

La funzione javascript funziona ma il problema è che mi visualizza sempre le lezioni del primo esame seppur digito il bottone di un altro esame...

Qualcuno mi può aiutare?
 
Ciao, devi dare un id diveso ad ogn div, puoi usare l'id dell query
PHP:
<div id="lezioni<?php echo $row['id];?>"
poi lo passi alla funzione
PHP:
onclick="MostraNascondi(<?php echo $row['id];?>);"
e lo usi per riferirti al div giusto
Codice:
 function MostraNascondi(id) {
         if (mostra)
              document.getElementById("lezioni" + id).style.display="block";
         else
              document.getElementById("lezioni" + id).style.display="none";
         mostra=!mostra;
     }
 
Ciao, devi dare un id diveso ad ogn div, puoi usare l'id dell query
PHP:
<div id="lezioni<?php echo $row['id];?>"
poi lo passi alla funzione
PHP:
onclick="MostraNascondi(<?php echo $row['id];?>);"
e lo usi per riferirti al div giusto
Codice:
 function MostraNascondi(id) {
         if (mostra)
              document.getElementById("lezioni" + id).style.display="block";
         else
              document.getElementById("lezioni" + id).style.display="none";
         mostra=!mostra;
     }


fantastico! GRAZIEEEEEEEEEEEE !!!!!!!
 

Discussioni simili