ich stehe vor folgendem Problem:
In meiner DB stehen 4 Tabellen welche zusammen ein "Heft" aufzeigen sollen.
Nun, jedes Heft (gesamthaft 12 Ausgaben) hat 20seiten.
In einer Tabelle (Ausgabe) schrieb ich alle Heft Nummern auf, in einer zweiten (Status) einen Status mit "offen/provisorisch/gebucht". Dann eine weitere Tabelle (Seiten) mit den 20 Seiten und zuguter letzt eine Tabelle mit einer Zusammenfassung (Heft). Die letzte Tabelle (Heft) schreibt jeweils die ID der einzelnen Tabellen in die Zeile wo ich diese wieder auslese mit über kreuz abfragen.
Nun mein Problem ist folgendes. Wen ich das Heft online anschaue sollen alle Seiten, egal ob etwas schon enthalten ist oder nicht, die Seiten aufgezeigt werden.
Dies funktioniert jedoch nur soweit dass eben die Seiten zwar abfragt jedoch der Status und Co. noch enthalten sind:
Das momentanige Ergebniss gebe ich wie folgt aus:
Mit der nachfolgenden Abfrage schaffe ich es jegliche Seiten auszuwählen welche einen Status enthalten.
Ziel wäre es jedoch dass wirklich alle 20 Seiten, egal ob Inhalt vermerkt ist oder nicht, diese in eine WHILE Schleife angezeigt werden.
Sprich zum Schluss sollte dann jeweils alle Seiten des Heftes aufzeigen - und wen z.B. auf Seite 7 etwas gebucht ist, dies entsprechend vermerken.
Bin euch dankbar um jeden rat - ggf. ist es auch mit der Tabellenstrukturierung nicht besonders schlau gemacht - Danke für euer Inputs.
In meiner DB stehen 4 Tabellen welche zusammen ein "Heft" aufzeigen sollen.
Nun, jedes Heft (gesamthaft 12 Ausgaben) hat 20seiten.
In einer Tabelle (Ausgabe) schrieb ich alle Heft Nummern auf, in einer zweiten (Status) einen Status mit "offen/provisorisch/gebucht". Dann eine weitere Tabelle (Seiten) mit den 20 Seiten und zuguter letzt eine Tabelle mit einer Zusammenfassung (Heft). Die letzte Tabelle (Heft) schreibt jeweils die ID der einzelnen Tabellen in die Zeile wo ich diese wieder auslese mit über kreuz abfragen.
Nun mein Problem ist folgendes. Wen ich das Heft online anschaue sollen alle Seiten, egal ob etwas schon enthalten ist oder nicht, die Seiten aufgezeigt werden.
Dies funktioniert jedoch nur soweit dass eben die Seiten zwar abfragt jedoch der Status und Co. noch enthalten sind:
Code:
"SELECT
Page.IDP,
Page.Beschreibung,
SBH.Nr,
SBH.Titel
FROM
SBH_Seiten AS Page,
SBH2010 AS SBH
WHERE
SBH.Nr = " . $_GET['Nr'];
Das momentanige Ergebniss gebe ich wie folgt aus:
Code:
$res = mysql_query($Status);
if ($res!=false && mysql_num_rows($res) > 0)
{
while ($row = mysql_fetch_array($res, MYSQL_ASSOC))
{
$ID = $row['ID'];
$IDStatus = $row['IDStatus'];
$Firma = $row['Firma'];
$Beschreibung = $row['Beschreibung'];
$Format = $row['Format'];
if($IDStatus == "3")
{
echo '<div id="status_gebucht">
<a href="sbh_seite.php?ID='.$ID.'" class="gebucht">
<p class="Firmenname">' . $Firma . '</p>
<br />
<img src="gif/gebucht.gif" border="0">
<br />
<p class="Status">' . $Beschreibung . '</p>
</a>
</div>';
}
elseif ($IDStatus == "2")
{
echo '<div id="status_provisorisch">
<a href="sbh_seite.php?ID='.$ID.'" class="provisorisch">
<p class="Firmenname">' . $Firma . '</p>
<br />
<img src="gif/provisorisch.gif" border="0">
<br />
<p class="Status">' . $Beschreibung . '</p>
</a>
</div>';
}
elseif ($IDStatus == "1"){
echo '<div id="show_page">
<a href="sbh_seite.php?ID='.$ID.'" class="offen">
<p class="Firmenname">' . $Firma . '</p>
<br />
<img src="gif/offen.gif" border="0">
<br />
<p class="Status">' . $Beschreibung . '</p>
</a>
</div>';
}
}
}
Mit der nachfolgenden Abfrage schaffe ich es jegliche Seiten auszuwählen welche einen Status enthalten.
Code:
'SELECT
SBHALL.ID,
SBHALL.IDSeiten,
SBHALL.IDVerlag,
SBHALL.IDStatus,
SBHALL.IDSBH,
SBHALL.Bemerkung,
SBHSeiten.IDP,
SBHSeiten.Beschreibung,
SBHVerlage.IDV,
SBHVerlage.Firma,
SBHFormat.IDF,
SBHFormat.Format,
SBHFormat.Preis,
SBHFormat.Width,
SBHFormat.Height,
SBH2010.Nr,
SBHStatus.IDS,
SBHStatus.Text
FROM
SBH_ALL AS SBHALL,
SBH_Seiten AS SBHSeiten,
SBH_Verlage AS SBHVerlage,
SBH_Format AS SBHFormat,
SBH_Status AS SBHStatus,
SBH2010 AS SBH2010
WHERE
SBHALL.IDSBH = SBH2010.Nr
AND
SBHSeiten.IDP = SBHALL.IDSeiten
AND
SBHVerlage.IDV = SBHALL.IDVerlag
AND
SBHFormat.IDF = SBHALL.IDFormat
AND
SBHStatus.IDS = SBHALL.IDStatus
AND
SBHALL.IDSBH = ' . $_GET['Nr'] ;
Ziel wäre es jedoch dass wirklich alle 20 Seiten, egal ob Inhalt vermerkt ist oder nicht, diese in eine WHILE Schleife angezeigt werden.
Sprich zum Schluss sollte dann jeweils alle Seiten des Heftes aufzeigen - und wen z.B. auf Seite 7 etwas gebucht ist, dies entsprechend vermerken.
Bin euch dankbar um jeden rat - ggf. ist es auch mit der Tabellenstrukturierung nicht besonders schlau gemacht - Danke für euer Inputs.