• User

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

    ?>

    :arrabbiato:


  • User Attivo

    Scusa se chiedo un chiarimento, ma il tuo problema è solo la visualizzazione?


  • User

    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.


  • User Attivo

    Ok capisco
    te li torna su una riga a causa della formattazione che gli hai dato

    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>";
    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.


  • User

    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>

    ?>


  • User Attivo

    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>";
    
    ?>
    
    

  • User

    Da sempre l'errore
    Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in ................................ on line 46

    La riga 46 è

    echo "<td>".$Qta."</td>"

    Non saprei, mi puoi aiutare.


  • User Attivo

    Ah certo, scusami!
    dopo ogni echo ho dimenticato il ;


  • User

    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]


  • User Attivo

    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


  • User

    Porta pazienza ma non capisco, mi fai l'esempio sul mio codice.
    Grazie


  • User Attivo
    
    
    <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.


  • User

    perfetto.
    Grazie1000