Felix Riesterer: Warum wird ein zeilenumbruch gemacht ??

Beitrag lesen

Liebe(r) Hoggel,

<? if ($lh_noetige_arzt > $result_ar_arbeiter['arzt']) { ?> <div class="offline"> <? echo $lh_noetige_arzt; ?> </div> <? }
else { ?> <div class="online"> <? echo $lh_noetige_arzt; ?> </div> <? } ?>

sowas habe ich auch einmal gemacht. Je länger man sich mit PHP beschäftigt, desto weniger macht man das so, wie hier gezeigt. Meine Vorgehensweise wäre eine andere.

// Die beiden Variablen hast Du ja schon, für das Beispiel werden sie definiert.  
$lh_noetige_arzt = 3; // schöne Grammatik! ;-P  
$result_ar_arbeiter = array('arzt' => 4);  
  
$ersatz = [link:http://de3.php.net/manual/de/function.sprintf.php@title=sprintf](  
    "\t<p%s>%s</p>\r\n",  
    $lh_noetige_arzt > $result_ar_arbeiter['arzt'] ?  
        ' class="offline"' : ' class="online"',  
    htmlspecialchars($lh_noetige_arzt)  
);  
  
$html = str_replace('{platzhalter}', $ersatz, file_get_contents('./templates/arzt-arbeiter.html'));  
  
echo $html;

In der HTML-Datei muss dann an einer Stelle {platzhalter} stehen, was dann durch den Inhalt von $ersatz (das <p>-Element) ersetzt wird. Soll es kein <p>-Element sein, dann ändere einfach den Inhalt von $ersatz entsprechend. Hier ein Beispiel für die HTML-Datei:

<html><head><title>Benötigte Ärzte</title></head><body>  
    <h1>Verfügbare Ärzte</h1>  
    <p>Benötigt: {anzahl-benoetigt}</p>  
    {platzhalter}  
</body></html>

Meinem Vorschlag liegt die Erkenntnis zugrunde, dass das Trennen von HTML-Code und Programm-Code in vielen Fällen sinnvoll ist. In Deinem Fall ist es vielleicht aufgrund eines eher überschaubaren Projekts nicht wesentlich, aber wenn es doch ein größeres Projekt sein sollte, dann hilft das "Auslagern" des eigentlichen HTML-Codes enorm, um Deine Quelltexte übersichtlicher zu halten.

Man hat das hier an anderer Stelle auch schon gepredigt, aber man glaubt es erst, wenn man es am eigenen Leib anhand eines gewachsenen Projektes erfahren hat. Der anscheinend unrentable Mehraufwand, der durch meine beschriebene Vorgehensweise entsteht, ist eben nur anscheinend unrentabel. Man könnte es gleich "richtig" machen... aber dazu braucht es eben Erfahrung, und die zu machen braucht Zeit.

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)