- Home
- Categorie
- Coding e Sistemistica
- PHP
- Php creare tabella su query di selezione
-
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