@DangerLes
Dein Beispiel würde zwar funktionieren aber es ist nicht sehr effizient, da bei jeder Anfrage alle IF's durchlaufen werden - selbst wenn das übereinstimmende Objekt schon längst gefunden wurde.
Es gibt vielerlei Möglichkeiten dies zu umgehen.
Z.B. elseif, switch in Verbindung mit break, array oder eine Datenbank.
Elseif-Schlangen arbeiten wie normale If-Abfragen, mit dem Unterschied, dass nach einem gefundenen Objekt Schluss ist.
Switch könnte man als "andere Schreibweise" für If- oder Elseif-Abfragen bezeichnen.
Arrays haben den Vorteil, dass man mit einer einzigen Anfrage sofort zum gewünschten Datensatz gelangt. Allerdings müssen diese erstmal erzeugt werden, was wiederum Performance kostet.
Eine Datenbank zu nutzen, wäre bei wenigen Objekten wie "mit Kanonen auf Spatzen schießen" - also in dem Fall die langsamste Methode. Allerdings relativiert sich dies, je mehr Objekte vorhanden sind. Bei vielen hunderten oder gar tausenden Objekten, sind Datenbänke unerlässliche Werkzeuge, da sie mit wenigen Anfragen zum gewünschten Datensatz springen können.
Beispiel für elseif:
PHP-Code:
<?php
.....
if ($objekt==5) {
include('templates/template_sell_php_a.html');
}
.....
elseif ($objekt==12) {
include('templates/template_sell_php_b.html');
}
.....
elseif ($objekt==35) {
include('templates/template_sell_php_c.html');
}
?>
Beispiel für switch:
PHP-Code:
<?php
switch ($objekt) {
case 5:
include ('templates/template_sell_php_a.html');
break;
case 12:
include('templates/template_sell_php_b.html');
break;
case 35:
include('templates/template_sell_php_c.html');
}
?>
Achtung: "break" ist wichtig, da sonst (wie bei normalen If-Abfragen) alle Elemente durchlaufen werden.
Beispiel für Array:
PHP-Code:
<?php
$templates = array(
5 => 'templates/template_sell_php_a.html'
,12 => 'templates/template_sell_php_b.html'
,35 => 'templates/template_sell_php_c.html'
);
include($templates[$objekt])
?>
Beispiel für Datenbank (MySQL):
PHP-Code:
<?php
$result = mysql_unbuffered_query('SELECT `template_path` FROM `templates` WHERE `objekt` = '.$objekt);
$result = mysql_fetch_assoc($result);
include($result['template_path']);
?>