Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [PHP] Creare barra percentuale

    Come da titolo vorrei creare una barra percentuale prendendo dei valori dal db ma non so da che parte cominciare! Mi date cortesemente una mano?

    Io ho ragionato cosi:

    ho un valore da raggiungere per esempio 1000
    dal db estraggo la somma dei valori per esempio 500

    ora dovrei creare appunto la barra ma non so come, Uso la libreria GD, oppure i css?

    0 % ------ 50 % ------- 100 %

    Se mi date una dritta e un esempio sarebbe perfetto!
    PHP THE BEST

  2. #2
    se è una semplice barra basta che ti crei un'immagine di 1px x 1px del colore che vuoi

    con php calcoli la proporzione decidendo quanto vuoi che sia lunga la barra quando è al 100%

    e poi stampi l'immagine

    [img]tua_immagine.png[/img]">
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    beh, se è per quello non serve neanche l'immagine

    può usare semplicemente html e css

  4. #4
    Risolto cosi:

    Codice PHP:
    $daraggiungere "1000";

    $valoreAttuale 450;

    $risultato $valoreAttuale $daraggiungere 100;
    echo 
    round($risultato,1)."%";

    [
    img]1px.gif[/img
    PHP THE BEST

  5. #5
    Utente di HTML.it L'avatar di osiryx
    Registrato dal
    Dec 2002
    Messaggi
    1,021
    Se la vuoi fare + carina potresti utilizzare jquery
    Avevo una ragazza, dovevamo sposarci, ma c'era un conflitto religioso.
    Lei era atea ed io agnostico. Non sapevamo *senza* quale religione
    educare i figli.
    -- Woody Allen

  6. #6
    se hai qualche esempio da farmi vedere ci provo!!
    PHP THE BEST

  7. #7
    Originariamente inviato da osiryx
    Se la vuoi fare + carina potresti utilizzare jquery
    o con due righe di javascript senza framework
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

  8. #8
    Utente di HTML.it L'avatar di osiryx
    Registrato dal
    Dec 2002
    Messaggi
    1,021
    Originariamente inviato da wider
    o con due righe di javascript senza framework
    Anche...
    X l'esempio ti rimando alla pagina
    http://jqueryui.com/demos/progressbar/
    Avevo una ragazza, dovevamo sposarci, ma c'era un conflitto religioso.
    Lei era atea ed io agnostico. Non sapevamo *senza* quale religione
    educare i figli.
    -- Woody Allen

  9. #9
    sono del parere che usare js per una barra percentuale sia un pò esagerato

    bastano 3 immagini e 3 div e si ottiene lo stesso risultato (il primo div che contenga l'inizio della barra messo come sfondo ed un margine sinistro che sia la larghezza dell'immagine di sfondo, un secondo div che contenga la fine della barra con un margine verso destro pari alla lunghezza dell'immagine ed infine un div con l'immagine di background che si ripeta e della lunghezza necessaria) ... usare jquery "solo" per questo è esoso in termini di risorse (banda, lavoro inutile da parte del server per la richiesta, lavoro inutile da parte del client per via del browser che deve interpretare ed elaborare js e via dicendo) a cui si aggiunge che la barra comparirà di botto alla fine del caricamento perché jquery sarà disponibili solo al termine del caricamento (o meglio, volendo si può usare anche prima ma non conviene, soprattutto su IE)

    ... poi in realtà giocando un pò con i css basta un'unica immagine (magari in gif) e posizionarla correttamente con i CSS

    insomma, ci sono 100 mila modi ... ma usare javascript o ancora peggio jquery per fare solo questo è un spreco immane

  10. #10
    Utente bannato
    Registrato dal
    Oct 2009
    Messaggi
    20
    vedi se questo ti è utile (togli i riferimenti ai css pero')

    codice:
       function makePercentageBar($w3,$v,$w,$h,$horizontal = true,$alt = '')
        {
         // Draw a percentage bar $w x $h and $v percentage
         if($alt) $alt = "alt=\"$alt\" title=\"$alt\"";
         if($horizontal)
          {
           $left_w  = round(($v*$w/100));
           $right_w = $w - $left_w;
           $str = "<img class=\"percentageBarLeft\" src=\"".WM3_cSKIN_PATH."/percentage_bar_left.png\" align=\"middle\" width=\"$left_w\" height=\"$h\" $alt><img class=\"percentageBarRight\" src=\"".WM3_cSKIN_PATH."/percentage_bar_right.png\" align=\"middle\" width=\"$right_w\" height=\"$h\" $alt>";
          }
         else
          {
           $bottom_h  = round(($v*$h/100));
           $top_h = $h - $bottom_h;
           $str = "<img class=\"percentageBarTop\" src=\"".WM3_cSKIN_PATH."/percentage_bar_top.png\" align=\"middle\" width=\"$w\" height=\"$top_h\" $alt>
    <img class=\"percentageBarBottom\" src=\"".WM3_cSKIN_PATH."/percentage_bar_bottom.png\" align=\"middle\" width=\"$w\" height=\"$bottom_h\" $alt>";
          }
         return $str;
        }

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.