- Home
- Categorie
- Coding e Sistemistica
- PHP
- Php creare tabella su query di selezione
-
Php creare tabella su query di selezione
Chiedo aiuto,
non so come fare con la query sotto indicata, vorrei che il contenuto della risposta fosse inserito in una tabella tipo excel.
Mi potete aiutare.<?php
$username="username";
$password="password";
$database="database";mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Impossibile selezionare il database.");
$query="SELECT * FROM Articoli";
$risultati=mysql_query($query);$num=mysql_numrows($risultati);
mysql_close();
echo "<b><center>Database Output</center></b><br><br>";
$i=0;
while ($i < $num) {
$Qta=mysql_result($risultati,$i,"Qta");
$codice=mysql_result($risultati,$i,"codice");
$articolo=mysql_result($risultati,$i,"articolo");
$descrizione=mysql_result($risultati,$i,"descrizione");
$UM=mysql_result($risultati,$i,"UM");
$codbarre=mysql_result($risultati,$i,"codbarre");
$scortamin=mysql_result($risultati,$i,"scortamin");
$iva=mysql_result($risultati,$i,"iva");
$prezzo=mysql_result($risultati,$i,"prezzo");echo "<b>Qta - codice - articolo - descrizione - UM - codbarre - scortamin - iva - prezzo<br><br>"; echo "<b>$Qta - $codice - $articolo - $descrizione - $UM - $codbarre - $scortamin - $iva - $prezzo<br><br>"; $i++;
}
echo "<p>".$descrizione."</p>\n";
echo "<br><a href=index1.php>Torna alla pagina iniziale</a><br>";
?>
-
Scusa se chiedo un chiarimento, ma il tuo problema è solo la visualizzazione?
-
Funziona tutto, solo che mi ritorna i risultati su una riga e non si capisce nulla, per questo volevo costruire una griglia dove inserire i risultati della query.
-
Ok capisco
te li torna su una riga a causa della formattazione che gli hai datoecho "<b>Qta - codice - articolo - descrizione - UM - codbarre - scortamin - iva - prezzo<br><br>";
echo "<b>$Qta - $codice - $articolo - $descrizione - $UM - $codbarre - $scortamin - $iva - $prezzo<br><br>";
Potresti costruire una vera e propria tabella con i tag <table> in questo modo
<table>
<tr>
<th>Qta</th>
<th>codice</th>
<th>articolo</th>
<th>descrizione</th>
<th>UM</th>
<th>codbarre</th>
<th>scortamin</th>
<th>iva</th>
<th>prezzo</th>
</tr>
(questa parte fuori dal ciclo, nel ciclo invece)
echo"<tr>"
echo "<td>".$Qta."</td>"
.....
echo"</tr>
e alla fine del ciclo chiudi la tabella.
-
Sono alle prime armi, perdonami, io ho fatto cosi ma non funziona, mi puoi aiutare.
<?php
$username="username";
$password="password";
$database="database";mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Impossibile selezionare il database.");
$query="SELECT * FROM Articoli";
$risultati=mysql_query($query);$num=mysql_numrows($risultati);
mysql_close();
echo "<b><center>Database Output</center></b><br><br>";
$i=0;
while ($i < $num) {
$Qta=mysql_result($risultati,$i,"Qta");
$codice=mysql_result($risultati,$i,"codice");
$articolo=mysql_result($risultati,$i,"articolo");
$descrizione=mysql_result($risultati,$i,"descrizione");
$UM=mysql_result($risultati,$i,"UM");
$codbarre=mysql_result($risultati,$i,"codbarre");
$scortamin=mysql_result($risultati,$i,"scortamin");
$iva=mysql_result($risultati,$i,"iva");
$prezzo=mysql_result($risultati,$i,"prezzo");echo"<tr>"
echo "<td>".$Qta."</td>"
.....
echo"</tr>$i++;
}
echo "<br><a href=index1.php>Torna alla pagina iniziale</a><br>";
<table>
<tr>
<th>Qta</th>
<th>codice</th>
<th>articolo</th>
<th>descrizione</th>
<th>UM</th>
<th>codbarre</th>
<th>scortamin</th>
<th>iva</th>
<th>prezzo</th>
</tr>?>
-
Prova in questo modo
<?php $username="username"; $password="password"; $database="database"; mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die("Impossibile selezionare il database."); $query="SELECT * FROM Articoli"; $risultati=mysql_query($query); $num=mysql_numrows($risultati); mysql_close(); echo "<b><center>Database Output</center></b><br><br>"; ?> <table> <tr> <th>Qta</th> <th>codice</th> <th>articolo</th> <th>descrizione</th> <th>UM</th> <th>codbarre</th> <th>scortamin</th> <th>iva</th> <th>prezzo</th> </tr> <?php $i=0; while ($i < $num) { $Qta=mysql_result($risultati,$i,"Qta"); $codice=mysql_result($risultati,$i,"codice"); $articolo=mysql_result($risultati,$i,"articolo"); $descrizione=mysql_result($risultati,$i,"descrizio ne"); $UM=mysql_result($risultati,$i,"UM"); $codbarre=mysql_result($risultati,$i,"codbarre"); $scortamin=mysql_result($risultati,$i,"scortamin") ; $iva=mysql_result($risultati,$i,"iva"); $prezzo=mysql_result($risultati,$i,"prezzo"); //stampo i risultati echo"<tr>" echo "<td>".$Qta."</td>" ... echo"</tr> $i++; } echo "</table>" echo "<br><a href=index1.php>Torna alla pagina iniziale</a><br>"; ?>
-
Da sempre l'errore
Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in ................................ on line 46La riga 46 è
echo "<td>".$Qta."</td>"
Non saprei, mi puoi aiutare.
-
Ah certo, scusami!
dopo ogni echo ho dimenticato il ;
-
E vero, non mi era sfuggito.....
Ora non da più l'errore, ma esce cosi, senza caselle con bordi e senza risultato solo intestazione....Database Output
[TABLE]
[TD]Qta
[/TD]
[TD]codice
[/TD]
[TD]articolo
[/TD]
[TD]descrizione
[/TD]
[TD]UM
[/TD]
[TD]codbarre
[/TD]
[TD]scortamin
[/TD]
[TD]iva
[/TD]
[TD]prezzo
[/TD]
[/TR]
[/TABLE][TABLE]
[/TR]
[/TR]
[/TR]
[TD][/TD]
[/TR]
[/TABLE]
-
per i bordi ti basta inserire l'attributo border="1" all'interno del tag table. Per l'altro problema prova a inserire anche l'intestazione della tabella nel codice php e non a metterla come html puro
-
Porta pazienza ma non capisco, mi fai l'esempio sul mio codice.
Grazie
-
<php $username="username"; $password="password"; $database="database"; mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die("Impossibile selezionare il database."); $query="SELECT * FROM Articoli"; $risultati=mysql_query($query); $num=mysql_numrows($risultati); mysql_close(); echo "<b><center>Database Output</center></b><br><br>"; echo"<table border='1'>"; echo"<tr>"; echo"<th>Qta</th>"; echo"<th>codice</th>"; echo"<th>articolo</th>"; echo"<th>descrizione</th>"; echo"<th>UM</th>"; echo"<th>codbarre</th>"; echo"<th>scortamin</th>"; echo"<th>iva</th>"; echo"<th>prezzo</th>"; echo"</tr>"; $i=0;while ($i < $num) { $Qta=mysql_result($risultati,$i,"Qta"); $codice=mysql_result($risultati,$i,"codice"); $articolo=mysql_result($risultati,$i,"articolo"); $descrizione=mysql_result($risultati,$i,"descrizione"); $UM=mysql_result($risultati,$i,"UM"); $codbarre=mysql_result($risultati,$i,"codbarre"); $scortamin=mysql_result($risultati,$i,"scortamin") ; $iva=mysql_result($risultati,$i,"iva"); $prezzo=mysql_result($risultati,$i,"prezzo"); //stampo i risultati echo"<tr>"; echo "<td>".$Qta."</td>"; ... echo"</tr>"; $i++;} echo "</table>"; echo "<br><a href=index1.php>Torna alla pagina iniziale</a><br>"; ?>
Se la query è giusta (prova a stampare il numero di righe) e l'estrazione dei dati dal ciclo pure dovrebbe funzionare.
-
perfetto.
Grazie1000