Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [PHP] Visualizzazione tabella database in pagina html

    Ho un database con la tabella Moduli e i seguenti campi: ID, nome, data, missione, file.

    Voglio visualizzare i vari record su una tabella in una pagina html.

    Ho dunque creato il file classifica.html con il seguente codice:

    codice:
    <html>
    
    <body>
    
    <?php
    
    $username = "xxxxx";
    
    $password = "xxxxx";
    
    $database = "my_xxxxxxx";
    
    mysql_connect("localhost", $username, $password);
    
    @mysql_select_db($database) or die("Impossibile selezionare il database");
    
    $query = "SELECT * FROM Moduli";
    
    $risultati = mysql_query($query);
    
    $num = mysql_numrows($risultati);
    
    mysql_close();
    
    ?>
    
    <table border="0" cellspacing="2" cellpadding="2">
    
    <tr>
    
    <th><font face="Arial, Helvetica, sans-serif">Nome</font></th>
    
    <th><font face="Arial, Helvetica, sans-serif">Data</font></th>
    
    <th><font face="Arial, Helvetica, sans-serif">Missione</font></th>
    
    <th><font face="Arial, Helvetica, sans-serif">File</font></th>
    
    </tr>
    
    <?php
    
    $i = 0;
    
    while ($i < $num) {
    
    $nome = mysql_result($risultati, $i, "nome");
    
    $data = mysql_result($risultati, $i, "data");
    
    $missione = mysql_result($risultati, $i, "missione");
    
    $file = mysql_result($risultati, $i, "file");
    
    
    ?>
    
    <tr>
    
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $nome;?></font></td>
    
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $data;?></font></td>
    
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $missione;?></font></td>
    
    <td><font face="Arial, Helvetica, sans-serif"><?php echo $file;?></font></td>
    
    </tr>
    
    <?php
    
    $i++;
    
    }
    
    ?>
    
    </table>
    
    </body>
    
    </html>
    Purtroppo mi visualizza solo l'intestazione della tabella (gira solo il codice in html e non il php), ma non me la riempie con i record, non capisco il motivo.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Osservazioni:
    - sul risultato di una query si cicla con
    Codice PHP:
    while( $row mysql_fetch_assoc$risultati ) )
    {
       
    // quindi accedi ai dari con ad esempio
       
    $row['nome'];

    non serve contare i record recuperati ed impostare un contatore

    - NON usare le funzioni mysql_ sono state abbandonate, appena sul server sarà aggiornata la versione di PHP non funzionerà più niente, passa come minimo alle funzioni mysqli_ con la i finale, ma meglio sarebbe usare PDO.

  3. #3
    Scusa, hai detto che il file si chiama classifica.html, dovresti rinominarlo in classifica.php, altrimenti il codice php non viene elaborato.

  4. #4
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Osservazioni:
    - sul risultato di una query si cicla con
    Codice PHP:
    while( $row mysql_fetch_assoc$risultati ) )
    {
       
    // quindi accedi ai dari con ad esempio
       
    $row['nome'];

    non serve contare i record recuperati ed impostare un contatore

    - NON usare le funzioni mysql_ sono state abbandonate, appena sul server sarà aggiornata la versione di PHP non funzionerà più niente, passa come minimo alle funzioni mysqli_ con la i finale, ma meglio sarebbe usare PDO.



    Allora ho eliminato la parte html perchè c'era qualche problema d fondo riparto da zero. Ho aggiornato il codice con mysqli, eliminato il contatore ho scritto questo codice, inserito dentro a classifica.php:

    Codice PHP:
    <?php

    // dati di connessione al mio database MySQL
    $db_host 'localhost';
    $db_user 'xxxx';
    $db_pass 'xxxx';
    $db_name 'my_xxxxxxxx';

    // connessione al DB utilizzando MySQLi
    $cn = new mysqli($db_host$db_user$db_pass$db_name);

    // verifica su eventuali errori di connessione
    if ($cn->connect_errno) {
        echo 
    "Connessione fallita: "$cn->connect_error ".";
        exit();
    }

    $query "SELECT * FROM Moduli";

    $risultati mysqli_query($query);


    // chiusura della connessione
    $cn->close();

    while( 
    $row mysql_fetch_assoc$risultati ) )
    {
       
    // quindi accedi ai dati con ad esempio
       
    $row['nome'];
       
    $row['data'];
       
    $row['missione'];
       
    $row['file'];
    }  



    ?>

    Mi esce una pagina bianca senza nessun errore e senza nessun record dentro....come se non riuscisse a stampare i record, perchè??

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Mancano echo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    while( $row = mysql_fetch_assoc( $risultati ) )

    qui hai lasciato mysql_
    inoltre non basta aggiungere la i, cambiano anche un po' le funzioni, per esempio a mysqli_query() devi per forza passare anche la connessione e non lo fai.

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    while( $row = mysql_fetch_assoc( $risultati ) )

    qui hai lasciato mysql_
    Questo più gli echo. Mi sa che non finisce qui.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Ho aggiornato quegli errorini, questo il codice

    codice:
    <?php
    
    // dati di connessione al mio database MySQL
    $db_host = 'localhost';
    $db_user = 'xxxxxxxx';
    $db_pass = 'xxxxxxx';
    $db_name = 'xxxxxxxx';
    // connessione al DB utilizzando MySQLi
    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);
    
    // verifica su eventuali errori di connessione
    if ($cn->connect_errno) {
        echo "Connessione fallita: ". $cn->connect_error . ".";
        exit();
    }
    
    $query = "SELECT * FROM Moduli";
    
    // esecuzione della query
    if (!$cn->query($query)) {
      echo "Errore della query: " . $cn->error . ".";
    }
    
    
    
    $risultati = mysqli_query($query);
    
    
    // chiusura della connessione
    $cn->close();
    
    while( $row = mysqli_fetch_assoc( $risultati ) )
    {
       // quindi accedi ai dati con ad esempio
       $row['nome'];
       $row['data'];
       $row['missione'];
       $row['file'];
    }  
    
    
    
    ?>
    <html>
    <table>
    <body>
    <tr>
    
    <td><?php echo $nome;?></td>
    
    <td><?php echo $data;?></td>
    
    <td><?php echo $missione;?></td>
    
    <td><?php echo $file;?></td>
    
    </tr>
    </table>
    
    </body>
    
    </html>

    Purtroppo ancora non visualizzo nulla...dove sbaglio?

  9. #9
    Scusate ho copiato un codice sbagliato da una bozza, questo il codice che ho scritto:

    codice:
    <?php
    
    // dati di connessione al mio database MySQL
    $db_host = 'localhost';
    $db_user = 'xxxxxx';
    $db_pass = 'xxxxxx';
    $db_name = 'xxxxxx';
    
    // connessione al DB utilizzando MySQLi
    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);
    
    // verifica su eventuali errori di connessione
    if ($cn->connect_errno) {
        echo "Connessione fallita: ". $cn->connect_error . ".";
        exit();
    }
    
    $query = "SELECT * FROM Moduli";
    
    // esecuzione della query
    if (!$cn->query($query)) {
      echo "Errore della query: " . $cn->error . ".";
    }
    
    
    
    $risultati = mysqli_query($query);
    
    $numcampi = @mysqli_num_fields($risultati);
    
    echo "<table><tr>";
    echo '<th>Nome</th><th>Data</th><th>Missione</th><th>File</th>';
    echo "</tr>";
    
    
    while( $row = mysqli_fetch_assoc( $risultati ) )
    {
       // quindi accedi ai dati con ad esempio
       $row['nome'];
       $row['data'];
       $row['missione'];
       $row['file'];
       
       echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>";
    
    }  
    
    echo "</table>";
    
    // chiusura della connessione
    $cn->close();
    ?>

  10. #10
    Ulteriore UPGRADE di codice:
    Ho corretto alcuni " e alcuni ' [SPERO DI AVERLI CORRETTI BENE]
    INOLTRE HO MODIFICATO IL WHILE, secondo me l'errore è proprio lì...
    Ma ancora non visualizzo i record


    codice:
    <?php
    
    // dati di connessione al mio database MySQL
    $db_host = 'xxxx';
    $db_user = 'xxxxx';
    $db_pass = 'xxxxx';
    $db_name = 'xxxxxx;
    
    // connessione al DB utilizzando MySQLi
    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);
    
    // verifica su eventuali errori di connessione
    if ($cn->connect_errno) {
        echo "Connessione fallita: ". $cn->connect_error . ".";
        exit();
    }
    
    $query = "SELECT * FROM Moduli";
    
    // esecuzione della query
    if (!$cn->query($query)) {
      echo "Errore della query: " . $cn->error . ".";
    }
    
    
    
    $risultati = mysqli_query($query);
    
    $numcampi = @mysqli_num_fields($risultati);
    
    echo "<table><tr>";
    echo "<th>Nome</th><th>Data</th><th>Missione</th><th>File</th>";
    echo "</tr>";
    
    
    while( $row = mysqli_fetch_assoc( $risultati ) )
    {
       // quindi accedi ai dati con ad esempio
       $row['nome'];
       $row['data'];
       $row['missione'];
       $row['file'];
       
       echo "<tr><td>".$row['nome']."</td><td>".$row['data']."</td><td>".$row['missione']."</td><td>".$row['file']."</td></tr>";
    
    }  
    
    echo "</table>";
    
    // chiusura della connessione
    $cn->close();
    ?>
    Ultima modifica di flippo995; 10-09-2018 a 22:11

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.