Korekte ausgabe vom Forum

cille

Erfahrenes Mitglied
Hi ho,
ich bin gerade dabei, ein eigenes Forum zu Programmieren,
dabei habe ich in meine MySQL Datenbank 3 Tabellen.

1. Tabelle: Kapitel
2. Tabelle: subkapitel
3. Tabelle: thread -> Diese Tabelle ist jetzt nicht relevant :)

Mit den Tabellenverknüpfen funktioniert ja alles,
aber, wenn ich jetzt eine "while" - Schleife setze, dann gibt er immer 1 Kapitel und ein dazugehörigen Subkapitel, und setzt dies immer abwechselnd rein.
z.b:
so sieht es leider aus:
Kapitel 1:
Feedback

Kapitel 1:
Gaming

Kapitel 1:
Blub

so soll es aussehen:
Kapitel 1:
Feedback
Gaming
Blub


Ich kriege es leider nicht so hin wie ich es haben will und würde mich freuen, wenn Ihr mal rüberschaut.
Hier mal der winzige Quellcode, der gesamten Ausgabe:
PHP:
<?php
include("config.php");
$sql_forum        = "SELECT * FROM forum_ubersicht ORDER BY name DESC";
$sql_forum_result = mysql_query($sql_forum);
?>
<div id="forum_size">
<table width="670" cellpadding="0" cellspacing="4" border="0">
	<tr>
		<td>
			<?php
			while($sql_forum_data = mysql_fetch_assoc($sql_forum_result)) {
				$sql_forum2					= "SELECT * FROM forum_kapitel WHERE kap_id='".$sql_forum_data[id]."' ORDER BY name DESC";
				$sql_forum2_result	= mysql_query($sql_forum2);
				
				while($sql_forum2_data = mysql_fetch_assoc($sql_forum2_result)) {
			?>
					<div id="forum_kapitel_background">
						<table width="300" cellpadding="0" cellspacing="4" border="0">
							<tr>
								<td>
									<table width="300" cellpadding="0" cellspacing="0" border="0">
										<tr>
											<td align="left" colspan="2"><font style="font-size:14px;"><b><div id="forum_name"><?php echo $sql_forum_data["name"]; ?></div></b></font></td>
										</tr>
										<tr>
											<td align="left" colspan="2"><small><?php echo $sql_forum_data["info"]; ?></small></td>
										</tr>
										<tr>
											<td align="left"><small><b>Name:</b></small></td>
											<td align="right"><small><b>Einträge:</b></small></td>
										</tr>
										<tr>
											<td align="left"><?php echo $sql_forum2_data["name"]; ?></td>
											<td align="right"><?php echo $sql_forum2_data["eintrage"]; ?></td>
										</tr>
									</table>
								</td>
							</tr>
						</table>
					</div>
			<?php	
				}
			}
			?>
		</td>
	</tr>
</table>
</div>

Würde mich riesig freuen,

mfg,
cille
 
HeY!

Ist ganz einfacher Fehler, musst nur was verrücken!
Hab das ganze mal schnell gemacht, hoffe es funkt, aber wenn nicht ist dir hoffentlich der Fehler klar geworden.:p

PHP:
<?php
include("config.php");
$sql_forum        = "SELECT * FROM forum_ubersicht ORDER BY name DESC";
$sql_forum_result = mysql_query($sql_forum);
?>
<div id="forum_size">
<table width="670" cellpadding="0" cellspacing="4" border="0">
    <tr>
        <td>
                            <div id="forum_kapitel_background">
                        <table width="300" cellpadding="0" cellspacing="4" border="0">
                            <tr>
                                <td>
                                    <table width="300" cellpadding="0" cellspacing="0" border="0">
                                        <tr>
                                            <td align="left" colspan="2"><font style="font-size:14px;"><b><div id="forum_name"><?php echo $sql_forum_data["name"]; ?></div></b></font></td>
                                        </tr>
                                        <tr>
                                            <td align="left" colspan="2"><small><?php echo $sql_forum_data["info"]; ?></small></td>
                                        </tr>
            <?php
            while($sql_forum_data = mysql_fetch_assoc($sql_forum_result)) {
                $sql_forum2                    = "SELECT * FROM forum_kapitel WHERE kap_id='".$sql_forum_data[id]."' ORDER BY name DESC";
                $sql_forum2_result    = mysql_query($sql_forum2);
                
                while($sql_forum2_data = mysql_fetch_assoc($sql_forum2_result)) {
            ?>

                                        <tr>
                                            <td align="left"><small><b>Name:</b></small></td>
                                            <td align="right"><small><b>Einträge:</b></small></td>
                                        </tr>
                                        <tr>
                                            <td align="left"><?php echo $sql_forum2_data["name"]; ?></td>
                                            <td align="right"><?php echo $sql_forum2_data["eintrage"]; ?></td>
                                        </tr>
            <?php    
                }
            }
            ?>
                                                </table>
                                </td>
                            </tr>
                        </table>
                    </div>
        </td>
    </tr>
</table>
</div>
P.S.: Das richtige Einrücken hab ich mir jetzt mal gespart, bisschen was kannste ja noch selber machen.;-)

Danke und bis bald g3radiochris.
 
Zuletzt bearbeitet:
Als Tipp: Kapitel & Subkapitel kannst du zu einer Tabelle zusammenfassen, wobei du eine "ParentID" vergeben kannst. Ist es ein Child-Element, schreibst du die KapitelID bei "ParentID" rein, ansonsten ist "ParentID" = 0
 
Als Tipp: Kapitel & Subkapitel kannst du zu einer Tabelle zusammenfassen, wobei du eine "ParentID" vergeben kannst. Ist es ein Child-Element, schreibst du die KapitelID bei "ParentID" rein, ansonsten ist "ParentID" = 0

Kapier ich nicht woran da der Vorteil ist, kannst du mir es mal erklär?
Gut wir haben dann nur noch eine Tabelle, aber ich seh da kein Vorteil, weil der Vorteil ist auch wieder Nachteil*find*


Danke und bis bald g3radiochris.
 
hi ho,
aber mein Problem ist ich habe mehrere Kapitel,
z.B.:
Allgemein, Hardware, Software, Counter-Strike usw....

und die Subkapitel, müssen jeweils da drunter stehen

[EDIT]
Ein Gutes beispiel habe ich hier auf der AlternateAttex gefunden, hier ein Screen mit erklärung:
BEISPIEL
 
Zuletzt bearbeitet:
hi ho,
aber mein Problem ist ich habe mehrere Kapitel,
z.B.:
Allgemein, Hardware, Software, Counter-Strike usw....

und die Subkapitel, müssen jeweils da drunter stehen

Alles kein Problem, was hälst du von noch einer While-Schleife?
Macht es langsam klick?

Einfach ne While-Schleife auch beim auslesen der Kategorien machen, verstanden?

Danke und bis bald g3radiochris.
 
Ich entwickle momentan selber ein Forum. Ich würde dir den Code zur Verfügung stellen, solange ich auch die Updates von Weiterentwicklungen bekomme ;) Ich habe nicht sooo viel Zeit daran zu schrauben. Zu sehen ist es auf meiner Website, auf der z.Z. entwickelt wird. Das Forum ist in einem Status, in dem man es schon verwenden kann. Meld dich bei Interesse per PN bei mir.


Gruß Radhad
 
Zurück