Schlicht eine Liste.
Code:
<h1>Ihr Auftragsstatus</h1>
<ul id="processbar">
<li class="process">Auftragsannahme</li>
<li class="process"><strong>Verpacken</strong></li>
<li>Versand</li>
<li>Zugestellt</li>
</ul>
In diesem Beispiel ist der Prozess also gerade beim Verpacken, sodass die Balken für "Auftragsannahme" und "Verpacken" gefüllt sind. Man kann natürlich eine weitere Klasse einführen, womit man nur abgeschlossene Prozesse z.B. grün ausfüllt und der aktuelle Prozess z.B. gelb oder sowas. Die Prozesse, welche in der Zukunft liegen bekommen dann keine eigene Klasse zugewiesen und bleiben somit grau oder whatever.
Die Klasse "process" ist dann einfach der gefüllte Teilbereich.
Mittels PHP musst du halt vorher abklären, welcher Status gerade der aktive ist und allen vorherigen Schitten diese Klasse zuweisen, sodass der Balken "länger" wird.
Die Liste und die Listenelemente bearbeitest du mit CSS so, dass sie einen Rand bekommen, damit die Unterteilungen zu sehen sind, wie du sie möchtest. Zudem lässt du mit CSS den Inhalt ausblenden (gibt es verschiedene Möglichkeiten), sodass bei aktivem CSS der Text nicht sichtbar ist.
Der Klasse process gibst du dann eine entsprechende Hintergrundfarbe.
Ob das nun wirklich der Weisheit letzter Schluss ist und es ggf. bessere Wege gibt, bleibt natürlich noch offen. Weitere Tipps sind sicher gern gesehen
P.S.: Und wenn du mit deinem Code Probleme haben solltest, dann bitte am Besten den Problemcode online stellen und dann hier verlinken. Da kann man vieles besser erklären/erkennen.