# Grafische Prozentanzeige



## brunnerbrunner (29. September 2004)

Hallo,
versuche gerade eine gut? aussehende zweifarbige Anzeige für Zahlenwerte zu Basteln.  

Speicherplatz Webseite 100MB gesamt davon 20MB belegt
z.B. 20% belegt 80% frei ergibt einen Balken von 20px rot und 80px grün

<img src="rot.jpg" style="width : 20px; height : 5px;">
<img src="gruen.jpg" style="width : 80px; height : 5px;">

geht das auch anders ich meine grafisch schoener? ich bekomme die beiden skalierten Grafiken nicht richtig Pixelgenau aneinander und skalierte JPEGs sehen oft so besch...... aus wenn sie einen Farbverlauf enthalten.   
oder liege ich mit meinem Lösungsansatz völlig falsch.

Meine zweite Idee wäre einfach in einer Schleife 20 1px breite JPEGs aneinander zu reihen.

Mit besten Grüssen an alle Nachtprogrammierer


----------



## MiLa (29. September 2004)

Ich mach das immer so, dass ich eine Bild nehme, definiere, dass z.B. 100px die Breite von 100% sind.
Hier muss die Breite dann logischerweise Variabel sein.
Für deinen Fall, dass du 2 Grafiken hintereinander haben möchtest,
mach es doch einfach so, dass du eine Tabelle mit 2 Spalten machst und dort die Breite beider spalten dann dementsprechend variabel machst.

Für einen etwas schöneren, mehrfarbeigen Balken, kannst du als Hintergrund der beiden Spalten ein 1px breites jpg nehmen welches einen vertikalen Farbverlauf enthält.


----------



## ultrakollega (29. September 2004)

Hi,

also mit PHP hat deine Frage nicht sonderlich viel zu tun!

Aber:

Wieso machst du nicht eine Tabelle, welche zB 100% breit ist,
mit 2 Spalten. Die 1 Spalte machst du 20% und die 2 Spalte
machst du halt 80%. Tabellenspalten kannst du auch einfärben.

mfg


----------



## ultrakollega (29. September 2004)

@Lars:

Dein Post war schneller, liegt wahrscheinlich daran das ich in Österreich bin ...

 

mfg


----------



## brunnerbrunner (29. September 2004)

Danke für die Antworten. Habe das Prinzip mit der Tabelle begriffen aber mit der Umsetzung klappt es nicht so Recht.
So sieht mein Versuch aus:

<?php
$belegt  = 50;
$frei   = 200;
echo"<html>
<table border="0" cellspacing="0">
  <tr>
    <td width=".$belegt." bgcolor="#00CC00"></td>
    <td width=".$frei." bgcolor="#FF0000"></td>
  </tr>
</table>
</html>";
?>

wird aber keine Tabelle Angezeigt. 

Wiso ist das eigentlich kein PHP Beitrag? Habe ich auch noch nicht Verstanden.
ich dachte das der Code den ich da geschrieben habe PHP ist. Macht nichts Hauptsache ich bekomme es, mit Eurer Hilfe, hin.


----------



## MiLa (29. September 2004)

Machs schöner ;-):


```
<?php
$belegt = 50;
$frei = 200;
?>
<html>
<table width="250" border="0" cellspacing="0">
<tr>
<td width="<?PHP echo $belegt; ?>" bgcolor="#00CC00"></td>
<td width="<?PHP echo $frei; ?>" bgcolor="#FF0000"></td>
</tr>
</table>
</html>
```

Ich würde das Ganze aber in Prozent rechnen...
z.B.:
- Es stehen 200 MB zur Verfügung
- Es sind 20 belegt
- Der Balken ist 400px breit

Nun nen einfachen 3-Satz machen (Sollte jeder schaffen ;-)) und du hast die Breite des Balkens, dann kannst du noch mit einer einfachen Subtraktion den leeren Teil des Balkens ermitteln...


----------



## brunnerbrunner (29. September 2004)

Danke für die Korrektur. Hat mir sehr geholfen. Balken sieht geil aus. 
Beste Grüße A.B.


----------

