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

flippo95

Nuovo Utente
11 Set 2018
5
0
1
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?
 
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!
 
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!


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();
?>
 
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!


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);
 

Discussioni simili