PHP-Einfach.de PHP lernen leicht gemacht

Navigation
» Startseite
» Newsübersicht
» Kontakt
» Impressum

Community
» Forum
» Gästebuch

Tutorial
» PHP Tutorial
» MySQL Tutorial
» PHP
» MySQL
» Codeschnipsel

Downloads
» Einführung
» Scripts
» Command Board

Sonstiges
» md5-Generator
» Generator
» Wissenswertes

PHP lernen


Dieses Projekt wird unterstützt von
Lichteffekte Shop

 
Partner:
PHP Forum
Mathe Nachhilfe
Suchmaschinenoptimierung

Fortschrittsbalken mit <div>

Zurück zur Übersicht

Hallo, ich habe dieses Skript mal ausgebuddelt, etwas erweitert und wollte es jetzt zur Verfügung stellen. Der Titel und die Kommentare sollten eigentlich alles sagen.
Bitte Fehler melden und auch sonst ist Rückmeldung erwünscht. ;)

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
<?php
/*
 * ********************************************************************************************* *
 * FORTSCHRITTSBALKEN MIT OPTIONALER PROZENTANZEIGE                                              *
 * --------------------------------------------------------------------------------------------- *
 * [by LC] für php-einfach.de, Oktober 2008                                                      *
 * Das Skript darf frei verwendet werden, es darf aber weder dieser Kasten entfernt oder         *
 * verändert werden. Ebenso darf kein eigenes Copyright oder Ähnliche Zeichen eingefügt werden!  *
 *                                                                                               *
 * Bitte folgende Daten angeben:                                                                 *
 *         $gesamtbreite: Breite des Balkens in Pixel (ohne Einheit)                                *
 *         $grundwert: Der Wert, den 100% haben                                                     *
 *         $prozentwert: Den Wert, dessen Anteil am Grundwert berechnet werden soll                 *
 *        $prozent_disp_round: Anzahl der Nachkommastellen der Prozentanzeige                      *
 *         $prozentangabe_type: Art der Balkendarstellung (0, 1 oder 2):                            *
 *             0:    Leerer Balken, keine Prozentangabe                                               *
 *             1:    Leerer Balken, Prozentangabe eingerückt unter dem Balken                         *
 *             2:    Prozentangabe im Balken                                                          *
 *         $border: Rahmendefinition in CSS (OHNE das abschließende ; ) -> "none" für keinen Rahmen *
 *                                                                                                  *
 *         $farben: Der Balken kann je nach Prozentzahl unterschiedlich gefärbt werden.             *
 *                 In das Array die Prozentwerte von und bis zu der eine Farbe reichen soll durch  *
 *                  ein Minus getrennt angeben und in den zweiten Teil die jeweilige Farbe          *
 *                  (s. Beispielangaben). Soll der Balken nur eine Farbe haben, muss als Bereich    *
 *                  "000-100" angegeben werden.                                                     *
 * ********************************************************************************************* *
 */
$gesamtbreite 700//in Pixel
$grundwert 100;
$prozentwert 50;
$prozent_disp_round 0//Nachkommastellen
$prozentangabe_type 0
$border "1px solid black";

$farben = array("000-020" => "green",
                
"021-050" => "yellow",
                
"051-100" => "red"
);


/*
 * ***************************************************** *
 *         AB HIER KEINE ÄNDERUNGEN MEHR VORNEHMEN!         *
 * ***************************************************** *
 */

if(empty($border))
    
$border "1px solid black";

if(empty(
$prozent_disp_round))
    
$prozent_disp_round 0;
    
if(empty(
$prozentangabe_type))
    
$prozentangabe_type 0;


if(
$prozentwert $grundwert)
    
$prozentwert $grundwert;

$prozentsatz $prozentwert $grundwert;
$teilbreite $prozentsatz $gesamtbreite;
$prozentsatz_disp round((($prozentwert $grundwert) * 100), $prozent_disp_round);

$i 1;
foreach(
$farben AS $bereich => $farbe) {
    
$einzelwerte explode("-"$bereich);
    if((
$einzelwerte[0] <= $prozentsatz_disp) && ($prozentsatz_disp <= $einzelwerte[1])) {
        
$balken_farbe $farbe;
        break;
    }    
}

if(!isset(
$balken_farbe))
    
$balken_farbe "orange";
    
if(
$prozentangabe_type == 0) {
    
    echo 
"<div style='text-align: left; border: $border; width: ".$gesamtbreite."px; height: auto; padding: 0px;'>\n";
        echo 
"\t<div style='text-align: center; width: ".$teilbreite."px; background-color: $balken_farbe;'>&nbsp;</div>\n";
    echo 
"</div>\n";
}
elseif(
$prozentangabe_type == 1) {
    
if(
$teilbreite <= 10)
    
$wertbreite $teilbreite;
else
    
$wertbreite $teilbreite 10;
    
    echo 
"<div style='text-align: left; border: $border; width: ".$gesamtbreite."px; height: auto; padding: 0px;'>\n";
        echo 
"\t<div style='text-align: center; width: ".$teilbreite."px; background-color: $balken_farbe; height: 15px;'></div>\n";
    echo 
"</div>\n";
    echo 
"<span style='position: relative; left: ".$wertbreite."px;'>".$prozentsatz_disp."%</span>";
}
else {
    echo 
"<div style='text-align: left; border: $border; width: ".$gesamtbreite."px; height: auto; padding: 0px;'>\n";
        echo 
"\t<div style='text-align: center; width: ".$teilbreite."px; background-color: $balken_farbe;'>".$prozentsatz_disp."%</div>\n";
    echo 
"</div>\n";
}
?>


Die Datei ist auch angehängt.

Kommentare

Zurück zur Übersicht

Autor Stephen Falken

News
13.08 - » Spam im Gästebuch
Endlich Schluss mit dem Spam

08.12 - » Clanletter 2.0
Clanletter wurde komplett neu programmiert

01.09 - » Command Board 1.0 - 2.0
Das Command Board 1.0 Beta 2.0 ist erschienen


Mehr

Forum
» Entwickler Forum

» insert nach login

» Tabellenzelle zu groß







© PHP-Einfach.de 2003 - 2012