Kalma
Erfahrenes Mitglied
Hi,
ich stehe grad vor einem kleinen Problem.
Ich habe 4 Datenbanktabellen:
- Benutzer (user)
- Avatar (avatar)
- Gästebucheinträge (wall)
- Benutzereinstellungen (security)
user:
user_id
user_firstname
user_lastname
avatar:
avatar_owner_id
avatar_path
wall:
wall_id
wall_actor_id
wall_text
security:
setting_user_id
show_firstname
show_lastname
Jetzt will ich die Einträge aus der Wall auslesen.
Zusätzlich soll der Name über die wall_actor_id + das passende Avatar + die Sicherheitseinstellungen ausgegeben werden.
Jetzt frage ich mich, ob ich das mit einem Join lösen soll, oder für zum Beispiel das anzeigen des Namens eine Funktion erstellen soll.
Bisher hatte ich für das Auslesen des Namens und des Avatars jeweils eine Funktion.
Also zum Beispiel:
getName($id) -> Überprüft die Sicherheitseinstellungen und gibt dementsprechend den Namen zurück.
getAvatar($id) -> Liest das Avatar aus und prüft ebenfalls, ob die Datei vorhanden ist. Ansonstne wird ein defaultavatar zurückgegeben.
Dann habe ich immer in der Whileschleife, in der ich die Einträge ausgelesen habe, folgendes gemacht:
Dabei wurde ich darauf hingewiesen, dass dies natürlich viel Leistung zieht, da bei jedem Durchlauf eine Datenbankabfrage gemacht wird.
Könnt ihr mir helfen? Ist das eine günstige Lösung oder sollte ich tatsächlich für all diese Sachen einen Join machen?
Gruß und Danke im Vorraus!
ich stehe grad vor einem kleinen Problem.
Ich habe 4 Datenbanktabellen:
- Benutzer (user)
- Avatar (avatar)
- Gästebucheinträge (wall)
- Benutzereinstellungen (security)
user:
user_id
user_firstname
user_lastname
avatar:
avatar_owner_id
avatar_path
wall:
wall_id
wall_actor_id
wall_text
security:
setting_user_id
show_firstname
show_lastname
Jetzt will ich die Einträge aus der Wall auslesen.
Zusätzlich soll der Name über die wall_actor_id + das passende Avatar + die Sicherheitseinstellungen ausgegeben werden.
Jetzt frage ich mich, ob ich das mit einem Join lösen soll, oder für zum Beispiel das anzeigen des Namens eine Funktion erstellen soll.
Bisher hatte ich für das Auslesen des Namens und des Avatars jeweils eine Funktion.
Also zum Beispiel:
getName($id) -> Überprüft die Sicherheitseinstellungen und gibt dementsprechend den Namen zurück.
getAvatar($id) -> Liest das Avatar aus und prüft ebenfalls, ob die Datei vorhanden ist. Ansonstne wird ein defaultavatar zurückgegeben.
Dann habe ich immer in der Whileschleife, in der ich die Einträge ausgelesen habe, folgendes gemacht:
PHP:
while($select = mysql_fetch_array($result)
{
echo getAvatar($select['wall_actor_id']);
echo getName($select['wall_actor_id']);
}
Dabei wurde ich darauf hingewiesen, dass dies natürlich viel Leistung zieht, da bei jedem Durchlauf eine Datenbankabfrage gemacht wird.
Könnt ihr mir helfen? Ist das eine günstige Lösung oder sollte ich tatsächlich für all diese Sachen einen Join machen?
Gruß und Danke im Vorraus!