Visualizzazione risultato

Salve... ho un problema con la visualizzazione del risultato di una query io vorrei che venisse fuori una cosa così:

<ul>
          <li>
            <div align="justify">Agostino:
              <ul>
                <li>Confessioni</li>
                <li>Soliloqui</li>
                <li>De Civitate Dei</li>
              </ul>
            </div>
          </li>
          <li>
            <div align="justify">Aristotele:
              <ul>
                <li>Etica Nicomachea</li>
                <li>Poetica</li>
                <li>Protreptico </li>
              </ul>
            </div>
            </li>
        </ul>

Nel database ci sono sia le variabili "autore" che "titolo dell'opera"... la query è questa:

<?php
$query    = "SELECT * FROM biblioteca WHERE iniziale = '$iniziale'";
      $result = mysql_query($query) or die ("<pre>Errore nella query ".mysql_error()."<br>\n Query: \"$query\"</pre>");;
      echo ('<ul><li>');
      while ($row = mysql_fetch_array($result))
      {
         echo ('<div align="justify">'.$row['autore'].':<ul>');
         $query2 = "SELECT * FROM biblioteca WHERE autore = '$row[autore]'";
         $result2 = mysql_query($query2) or die ("<pre>Errore nella query ".mysql_error()."<br>\n Query: \"$query\"</pre>");;
         while ($row2 = mysql_fetch_array($result2))
         {
            echo('<li>'.$row['titolo'].'</li>');
         }
         echo('</ul></div>');
      }
      echo ('</li></ul>');
      ?>

ma come risultato ottengo una cosa così:

<ul><li><div align="justify">Aristotele:<ul><li>Poetica</li><li>Poetica</li></ul></div><div align="justify">Aristotele:<ul><li>Protreptico</li><li>Protreptico</li></ul></div></li></ul>      <ul>

cioè, praticamente, mi ripete il nome dell'autore (cosa che io non vorrei che facesse), qualcuno sa come aiutarmi?  :)

 :bye:

inviato 10 anni fa
z3ro
z3ro
1
X 0 X

Il modo migliore sarebbe quello di usare una sola query, sopratutto per il fatto che stai usando una sola tabella per contenere autore e libri. L'algoritmo sarebbe però più complesso.

Se per semplicità vuoi usare più query allora puoi cambiare la prima in modo che ti restituisca gli autori senza doppioni:

SELECT DISTINCT autore FROM biblioteca WHERE iniziale = '$iniziale'

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda