Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    generare un semplice grafico

    ciao a tutti, ho bisogno di far fare un grafico di alcuni dati ed ho appena scritto questo piccolo codice per generarlo:

    <html>
    <body>
    <?php
    $prod = Array(10,3,7);
    echo "<table cellpadding='0' cellspacing='0'>";
    for($a=0;$a<count($prod);$a++)
    {
    $numprod=$a+1;
    echo "<tr><td>PRODOTTO $numprod</td><td>";
    for($i=0;$i<20;$i++)
    {
    if($i<$prod[$a])
    echo "<td>[img]si.jpg[/img]</td>";
    else
    echo "<td>[img]no.jpg[/img]</td>";
    }
    echo "</tr>";
    }
    echo "</table>";
    ?>
    </body>
    </html>
    logicamente l'array si può prendere di qualsiasi valore, e gli si possono passare dei valori da un form
    i file si.jpg e no.jpg sono 2 quadrati rispettivamente rosso e bianco, di grandezza 50 x 50 px...ma si possono fare di qualsiasi colore e grandezza...stavo pensando che si potrebbe anche visualizzare al posto dell'immagine, una cella con sfondo colorato

    cosa ne pensate?

  2. #2
    modificata in modo da nn stampare anche i quadrati bianchi ma solo i colorati

    <html>
    <body>
    <?php
    $prod = Array(10,3,40);
    echo "<table cellpadding='0' cellspacing='0'>";
    for($a=0;$a<count($prod);$a++)
    {
    $numprod=$a+1;
    echo "<tr><td>PRODOTTO $numprod</td><td>";
    for($i=0;$i<20;$i++)
    {
    if($i<$prod[$a])
    echo "<td>[img]si.jpg[/img]</td>";
    else {
    echo "</tr>";
    break; }
    }
    }
    echo "</table>";
    ?>
    </body>
    </html>

  3. #3
    ecco, l'ho perfezionato un pò

    <html>
    <body>
    <?php
    function creagrafico($valore1,$valore2,$valore3,$valore4,$v alore5,$valore6)
    {
    $prod = Array($valore1,$valore2,$valore3,$valore4,$valore5 ,$valore6);
    //$prod = Array(152,121,168.2,58.2,131,110);
    $valori = Array('FORNITO','RESO','SVILUPPO FORNITO','SVILUPPO RESO','VENDUTO','VALORE VENUDUTO');

    $max=0;
    for($i=0;$i<count($prod);$i++)
    {
    if($prod[$i]>$max)
    $max=$prod[$i];
    }

    echo "<table cellpadding='0' cellspacing='0'>";
    for($a=0;$a<count($prod);$a++)
    {
    echo "<tr><td><font size='1'>$valori[$a]</font></td><td><font color='ffffff'>-</font></td><td>";
    //echo "<tr><td><font size='1'>$valori[$a]</font></td><td>";
    for($i=0;$i<$max;$i=$i+2)
    {
    if($i<$prod[$a])
    echo "<td>[img]si.jpg[/img]</td>";
    else {
    echo "</tr>";
    break; }
    }
    }
    echo "</table>";
    }
    ?>
    </body>
    </html>
    tanto per cominciare l'ho reso una funzione chiamabile tramite
    creagrafico($valore1,$valore2,$valore3,$valore4,$v alore5,$valore6)

    potete chiamare la funzione anche con un numero maggiore/minore di parametri, basta fare prima un controllo con un if
    ed ho modificati si.jpg rimpicciolendolo a 5x5 pixel.

    ora vi chiedo una cosa...come posso fare per inserire dopo la prima colonna (i valori dell'array $valori) una colonna vuota senza farmi aumentare le dimensioni della tabella?

    ho provato ad inserire
    <td><font color='ffffff'>-</font></td>
    ma mi viene aumentata la grandezza della tabella in questo modo:
    Immagini allegate Immagini allegate

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.