[PHP + MYSQLI] Stampa a video di una tabella nel database

Discussione in 'PHP' iniziata da flippo95, 11 Settembre 2018.

  1. flippo95

    flippo95 Nuovo Utente

    Registrato:
    11 Settembre 2018
    Messaggi:
    8
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    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.

    Ho dunque creato il file classifica.php con il seguente codice:
    PHP:
    <?php

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

    // 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();
    }

    //definisco la query
    $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();
    ?>

    Ho dei dubbi sia sugli " che sugli ' , non so se sono giusti, inoltre secondo me non va qualcosa nel while.

    Come risultato ottendo una schermata con solo i ttoli della tabella, senza nessun record dentro....dove sbaglio?
     
  2. AlP

    AlP Nuovo Utente

    Registrato:
    18 Marzo 2018
    Messaggi:
    7
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Prova così:
    Codice:
    Dichiarazioni varie di connessione al db ...
    $query = "SELECT * FROM Moduli";
    $oggetto =$mysqli->query($query);
    while($scorri_oggetto=$oggetto->fetch_assoc()){
    ?>
    <th><?php printf($scorri_oggetto['nome']);?></th>
    <th><?php printf($scorri_oggetto['data']);?></th>
    ...
    <?php
    }
    ?>
    
    Così lo stampi in parte in html...
    Questa dichiarazione dovrebbe essere giusta, ricorda solamente che se crei div o attributi o qualsiasi cosa che abbia forma ="" dentro un echo dovrai mettere le \ in modo da ottenere un =\"    \"
    [code]
    echo "<th>Nome</th><th>Data</th><th>Missione</th><th>File</th>";
    
    Spero di non aver detto castronerie!
     
  3. flippo95

    flippo95 Nuovo Utente

    Registrato:
    11 Settembre 2018
    Messaggi:
    8
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio

    Ho provato il tuo codice, ma mi da errore a questa riga
    Codice:
    $oggetto =$mysqli->query($query);
    Compare questo errore:
    Fatal error: Call to a member function fetch_assoc() on null



    Ho messo il tuo codice in questo modo
    Codice:
    <?php
    ...vari dati di connessione...
    
    // 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";
    $oggetto =$mysqli->query($query);
    
    echo "<table><tr>";
    echo "<th>Nome</th><th>Data</th><th>Missione</th><th>File</th>";
    echo "</tr>";
    
    
    while($scorri_oggetto=$oggetto->fetch_assoc()){
    ?>
    <th><?php printf($scorri_oggetto['nome']);?></th>
    <th><?php printf($scorri_oggetto['data']);?></th>
    <th><?php printf($scorri_oggetto['missione']);?></th>
    <th><?php printf($scorri_oggetto['file']);?></th>
    <?php
    }
    
    
    echo "</table>";
    
    // chiusura della connessione
    $cn->close();
    ?>
    
    
     
  4. flippo95

    flippo95 Nuovo Utente

    Registrato:
    11 Settembre 2018
    Messaggi:
    8
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio

    Utilizzando invece il tuo codice senza alcuna modifica mi da questo errore
    Fatal error: Call to a member function query() on null in .../classifica3.php on line 19
    questa la line 19
    $oggetto =$mysqli->query($query);
     
  5. flippo95

    flippo95 Nuovo Utente

    Registrato:
    11 Settembre 2018
    Messaggi:
    8
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ho risolto con il tuo codice, grazie mille!!!!!
     
Sto caricando...

Condividi questa Pagina