Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 05.09.2003, 22:03
Benutzerbild von Daniel Richter
TVBlogger
 
Registriert seit: 07.2003
Ort: Wilhelmshaven
Beiträge: 2.110

Foren einer Kategorie zuweisen


Ich hab mir mit frederic jetzt schon die ganze Zeit die Zähne ausgebissen und wir sind zu keinem ergebnis gekommen.

Folgender Code
Code:
//  
// Hol die Kategorie Daten aus der Datenbank  
//  
$result = $db->query("SELECT * FROM " . DB_PREFIX . "categories");  
  
while($row = mysql_fetch_array($result)) {  
  
 $cat_id = $row['cat_id'];  
 $cat_title = $row['cat_title'];  
  
eval ("\$templatename = \"".addslashes(template("index_cat"))."\";");  
 $index_cat = $templatename;  
  
//  
// Hol die Forums Daten aus der Datenbank  
//  
$result2 = $db->query("SELECT * FROM " . DB_PREFIX . "forums WHERE cat_id=\"$cat_id\"");  
  
while($row2 = mysql_fetch_array($result2)) {  
  
 $forum_id = $row2['forum_id'];  
 $forum_title = $row2['forum_title'];  
 $forum_des = $row2['forum_des'];  
 $forum_cat_id = $row2['cat_id'];  
 $forum_posts = $row2['forum_posts'];  
 $forum_topics = $row2['forum_topics'];  
  
  
eval ("\$templatename = \"".addslashes(template("index_forums"))."\";");  
 $index_forums = $templatename;  
  
} 
eval ("\$templatename = \"".addslashes(template("index"))."\";");  
echo $templatename;   
}
Soll die Foren den Kategorien zu weisen.
Nun ist das Problem, dass jeder Kategorie nur maximal ein Forum zugewiesen wird. Wenn also eine Kategorie mehrere Foren zugewiesen bekommen hat, wird nur das erste ausgegeben.
Ich hoffe ihr versteht was ich meine.

Kann mir hier einer helfen?
__________________
Daniel Richter
Immer ein Besuch wert: TVBlogger.de - Aktuelle Nachrichten aus der Welt des Fernsehens
  #2  
Alt 05.09.2003, 22:06
Benutzerbild von Frederic Schneider
WoltLab Holzmichl
 
Registriert seit: 07.2003
Ort: Eschborn
Beiträge: 1.287
jo isch hab jetzt auch kein plaaan was es sein kann, codus affus kommt damit auch immer erst so spät abends ... naja die zweite while schleife scheint nur einmal durchzulaufen... naja.. cu

__________________
Frederic Schneider
WoltLab Team / WoltLab Wiki / GamePorts / Frederic Schneider / neuer-patriotismus.de
  #3  
Alt 05.09.2003, 22:10
Benutzerbild von exe
exe exe ist offline
titellos
 
Registriert seit: 07.2003
Ort: München
Beiträge: 888
Der Fehler liegt im Detail:

Code:
eval ("\$templatename2 = \"".addslashes(template("index_forums"))."\";");  
 $index_forums = $templatename2;
Da $index_forums bei jedem Schleifendurchlauf neu gesetzt wird bleibt logischerweise nur das letzte Forum einer Kategorie in der Variable belassen.
So müsste es richtig lauten, damit neue Foren den vorhandenen hinzugefügt werden:

Code:
//  
// Hol die Kategorie Daten aus der Datenbank  
//  
$result = $db->query("SELECT * FROM " . DB_PREFIX . "categories");  
  
while($row = mysql_fetch_array($result)) {  
  
 $cat_id = $row['cat_id'];  
 $cat_title = $row['cat_title'];  
eval ("\$templatename = \"".addslashes(template("index_cat"))."\";");  
 $index_cat = $templatename;  
  
//  
// Hol die Forums Daten aus der Datenbank  
//  
$result2 = $db->query("SELECT * FROM " . DB_PREFIX . "forums WHERE cat_id=\"$cat_id\"");  
$index_forums = ""; // Variable für jede Kategorie initialisieren
  
while($row2 = mysql_fetch_array($result2)) {  
  
 $forum_id = $row2['forum_id'];  
 $forum_title = $row2['forum_title'];  
 $forum_des = $row2['forum_des'];  
 $forum_cat_id = $row2['cat_id'];  
 $forum_posts = $row2['forum_posts'];  
 $forum_topics = $row2['forum_topics'];  
  
  
eval ("\$templatename2 = \"".addslashes(template("index_forums"))."\";");  
 $index_forums .= $templatename2;  // Forum zur Kategorie _hinzufügen_
  
} 
eval ("\$templatename3 = \"".addslashes(template("index"))."\";");  
echo $templatename3;   
}
Nebenbei ist es nicht gerade die performanteste Möglichkeit jedes Forum einzeln aus der Datenbank zu holen.
Wenn jemand 30 Foren eingerichtet hat müssen da schlappe 30 Abfragen ausgeführt werden .. Bei einem nicht so fixen MySQL Server schlägt das ganz gut auf die Ausführungszeit des Scripts.

__________________
Johannes Klose
Calitrix Wiki - Wiki auf Basis von PHP und MySQL
  #4  
Alt 05.09.2003, 22:11
Benutzerbild von Frederic Schneider
WoltLab Holzmichl
 
Registriert seit: 07.2003
Ort: Eschborn
Beiträge: 1.287
daaaaaaanke exe jo stimmt... hätte selber drauf kommen SOLLEN, naja wofür ham ma dich !

edit:
wegen der performance... jo is halt einfach gemacht...

__________________
Frederic Schneider
WoltLab Team / WoltLab Wiki / GamePorts / Frederic Schneider / neuer-patriotismus.de
  #5  
Alt 05.09.2003, 22:21
Benutzerbild von exe
exe exe ist offline
titellos
 
Registriert seit: 07.2003
Ort: München
Beiträge: 888
Wie im IRC besprochen hier die zweite Version deines Codes:
Natürlich nicht getestet aber probiers mal aus.

Code:
//  
// Hol die Kategorie Daten aus der Datenbank  
//  
$result = $db->query("SELECT * FROM " . DB_PREFIX . "categories");  

// Kategorievariable initialisieren
$index_cat = "";
  
while($row = mysql_fetch_array($result)) {  
  
 $cat_id = $row['cat_id'];  
 $cat_title = $row['cat_title'];  
  
//  
// Hol die Forums Daten aus der Datenbank  
//  
$result2 = $db->query("SELECT * FROM " . DB_PREFIX . "forums WHERE cat_id=\"$cat_id\"");  
$index_forums = ""; // Variable für jede Kategorie initialisieren
  
while($row2 = mysql_fetch_array($result2)) {  
  
 $forum_id = $row2['forum_id'];  
 $forum_title = $row2['forum_title'];  
 $forum_des = $row2['forum_des'];  
 $forum_cat_id = $row2['cat_id'];  
 $forum_posts = $row2['forum_posts'];  
 $forum_topics = $row2['forum_topics'];  
  
  
eval ("\$templatename2 = \"".addslashes(template("index_forums"))."\";");  
 $index_forums .= $templatename2;  // Forum zur Kategorie _hinzufügen_  
}
eval ("\$templatename = \"".addslashes(template("index_cat"))."\";");  
 $index_cat .= $templatename;  
}
eval ("\$templatename3 = \"".addslashes(template("index"))."\";");  
echo $templatename3;

__________________
Johannes Klose
Calitrix Wiki - Wiki auf Basis von PHP und MySQL
  #6  
Alt 05.09.2003, 22:24
Benutzerbild von Daniel Richter
TVBlogger
 
Registriert seit: 07.2003
Ort: Wilhelmshaven
Beiträge: 2.110
Leider stimmt auch das noch nicht so ganz.
Nun werden die Foren nur der Kategorie 2 zugeteilt.

__________________
Daniel Richter
Immer ein Besuch wert: TVBlogger.de - Aktuelle Nachrichten aus der Welt des Fernsehens
  #7  
Alt 05.09.2003, 22:43
Benutzerbild von exe
exe exe ist offline
titellos
 
Registriert seit: 07.2003
Ort: München
Beiträge: 888
Ich habs mir jetzt bei mir angeschaut. War nur ein Problem in den Templates, der Code stimmt soweit.

index:
Code:
<html>
<body>
<table width="100%" cellpadding="2" cellspacing="1" border="1" class="forumline">
  <tr>
        <th colspan="2" class="thCornerL" height="25" nowrap="nowrap">Forum</th>
        <th width="50" class="thTop" nowrap="nowrap">Themen</th>
        <th width="50" class="thTop" nowrap="nowrap">Posts</th>
  </tr>
$index_cat
</table>
</body>
</html>
index_cat:
Code:
  <tr>
        <td class="catLeft" colspan="2" height="28"><span class="cattitle"><a href="{catrow.U_VIEWCAT}" class="cattitle">$cat_title</a></span></td>
        <td class="rowpic" colspan="3" align="right">&nbsp;</td>
  </tr>
 $index_forums
So hats bei mir ganz richtig funktioniert.

__________________
Johannes Klose
Calitrix Wiki - Wiki auf Basis von PHP und MySQL
  #8  
Alt 06.09.2003, 10:47
Benutzerbild von Daniel Richter
TVBlogger
 
Registriert seit: 07.2003
Ort: Wilhelmshaven
Beiträge: 2.110
Ja so hat es geklappt. Vielen Dank exe, dass du dir noch die Arbeit gemacht hast!

__________________
Daniel Richter
Immer ein Besuch wert: TVBlogger.de - Aktuelle Nachrichten aus der Welt des Fernsehens
Antwort


Stichworte
-


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suche gute Foren zum Thema... metalive Projektvorstellung und Bewertung 9 10.03.2008 19:45
Überblick über deutsche und englische Foren Papa Echo Projektvorstellung und Bewertung 3 28.01.2008 15:57
Mitmachen: Die schönsten Foren MrNase Web Design und Grafik 70 09.09.2007 11:33
Suche CMS für mehrere versch. Foren DreamFlasher Blog, CMS, Wiki und Sonstige 6 03.01.2005 18:13






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25