bester Lösungweg bei PHP, SQL und Smarty Problem

Darian

Erfahrenes Mitglied
Hallo Leute,

ich stehe da eigentlich vor einem eher simpleren Problem, und habe auch schon eine Lösung, aber die scheint mir nicht wirklich gut zu sein, darum wollte ich noch eventuelle Infos von euch.

Also, ich habe in einer Tabelle alle Hotels gespeichert sind. Diese sind aber noch in Location und Preiskategorien unterteilt.

Ich möchte jetzt gerne bei einer Seite alle einer bestimmten Location nach Preiskategorien sotiert ausgeben.

Die sind natürlich noch nicht in der DB sortiert.

Ich könnte jetzt alle Preiskategorien einzeln selektieren, und dann in das Templatesystem Smarty übergeben, und dort dann einfach für jede Preiskategorie eine schleife schreiben.

Ich dachte aber dass es da sicher besser Möglichkeiten gibt, kann ich das irgendwie mit Smarty direkt machen? Einfache alle Hotels übergeben, und dort bearbeiten?

Kurz zu Smarty, da es sicher nicht alle kennen:

Ich hätte dann nur so Sachen wie Schleifen und if zur Verfügung, um mein Problem zu lösen.

Derzeitiger Stand:

PHP:
PHP:
$hotels = get_dbo_arraylist("Hotel", array("where"=>"location_id=" . $location[id]));
		
		$smarty->assign("hotels", $hotels);

Templage:
HTML:
<div id="category_title">Preiskategorie1</div>
	<hr>
	
	{foreach from=$hotels item=hotel}
	{$hotel.name} <br>
	{/foreach}

Es sollte auch jede Preiskategorie zu Beginn eine Überschrift stehen.
Aber ich habe mit foreach die Möglichkeit es auszugeben, wenn die Schleife das erste mal durchläuft.

Oder denkt ihr es wäre auch gut es einfach mit 4 verschiedenen DB selects zu machen? Ist aber irgendwie nicht schön. Wäre das den recht langsamer?

lg und danke für eventuelle Infos
Darian
 
Hallo Leute,

jedenfalls einmal Danke für die Infos.

Gruppenwechsel im Sinne von, jede Kategorie in einen eigenen array schreiben? Stimmt das so ungefähr. Aber ich denke sowas ist mit der Templatesprache von Smarty nicht möglich.

Also müßte ich es entweder vorher mit php machen, oder ich selectiere gleich alle einzeln. Was wäre schneller, 4 Selects, oder 4 Schleifen durchläufte mit php?

Bin aber nich sicher ob ich das mit dem Gruppenwechsel richtig verstanden habe.

lg Darian
 
Ui danke, war sogar drauf, habe aber nur die Codeschnippsel von PHP angeschaut, und bin nicht weiter runter gekommen.

Danke, werde mir das jetzt ganz genau durch schauen.

lg Darian
 
Hallo Leute,

ich habe es jetzt recht schön hinbekommen, aber mein Bruder meinte wieso ich es nicht einfach 4 mal von der DB selektiere, er meinte das wäre schneller wie wenn ich dann Schleifen mit PHP (bzw. Smarty) durchlaufe?

Stimmt das? Ich glaube dass die performance mit Schleifen besser ist.

Das Problem ist auf jedenfall gelöst, danke für die Infos.

lg aus Guatemala
Darian
 
Hi,

na, Schleifen brauchst Du doch sowieso, oder nicht? Wenn Du getrennte DB-Afragen machst, für jede Gruppe eine. Ob die Duchläufe jetzt auf 4 Schleifen aufgeteilt sind, oder in einer einzigen abgearbeitet werden, ist egal. In der Summe ist das das Gleiche. Aber 1 DB-Abfrage ist schneller als 4 DB-Abfragen. ;)

LG
 
Ui danke, das stimmt ja auch wieder.

Daran habe ich ja gar nicht gedacht, ist dann auch logisch.

Danke für die Infos, und ich hoffe ich komme jetzt ohne viel Probleme weiter.

lg Daniel
 
Zurück