Seite 1 von 2
Problem bei eigenem TV-CMS
Verfasst: 21.11.2006 22:16
von Lohgock-Trainer
Ich habe mal ein kleines CMS geschrieben. Nun, Adminpanel etc. geht, nur die Ausgabe spinnt. Die soll nämlich so aussehen (simpel)
Code: Alles auswählen
<?php
$id = $_GET['id'];
settype($id,"integer");
$where = $epi_number[$id];
if(empty($id)) $sql = "SELECT epi_number, staffel, staffel_number, titel, guide FROM tv";
else $sql = "SELECT epi_number, staffel, staffel_number, titel, guide FROM tv WHERE epi_number = '$epi_number'";
$result = mysql_query($sql) OR die(mysql_error());
while($ds = mysql_fetch_object($result)) {
$epi_number = $ds->epi_number;
$staffel = $ds->staffel;
$staffel_number = $ds->staffel_number;
$titel = $ds->titel;
$guide = $ds->guide;
echo "<div>#".$epi_number." ".$titel."</div>";
echo "<div>Staffel: ".$staffel." / Staffelnummer: ".$staffel_number."</div>";
echo "<div>".$guide."</div>";
}
?>
Dort wird allerdings nichts angezeigt. Woran liegt das?
Verfasst: 22.11.2006 13:11
von gn#36
Wo kommt $epi_number her? Ich sehe keine Stelle wo das eingetragen wird.
Außerdem sieht es in der Zeile
so aus, als wäre das ein Array, da du das aber später im WHERE Abschnitt deiner Abfrage verwendest würde abgefragt ob in der Spalte epi_number "Array" drin steht, was vermutlich nicht so ist.
Verfasst: 22.11.2006 14:09
von Lohgock-Trainer
Epi_number kommt in nem anderen Teil vor, aber hast Recht, habe das Array vergessen...
Verfasst: 22.11.2006 18:30
von Lohgock-Trainer
Habe nun das Array hinzugefügt; jetzt gibt es aberdas Problem das immernoch alles bei http://....?id=0 angezeigt wird. Sonst nirgends.
Code: Alles auswählen
<?
$epi_number = array("Episoden-Nummer");
$sql = "SELECT DISTINCT(epi_number) FROM tv ORDER BY epi_number";
$result = mysql_query($sql) OR die(mysql_error());
while($ds = mysql_fetch_object($sql)) $epi_number[] = $ds->epi_number;
foreach($epi_number as $index => $menue) echo "<p><a href=\"?id=$index\">$menue</a></p>";
$id = $_GET['id'];
settype($id,"integer");
$where = $epi_number[$id];
if(empty($id)) $sql = "SELECT epi_number, staffel, staffel_number, titel, guide FROM tv";
else $sql = "SELECT epi_number, staffel, staffel_number, titel, guide FROM tv WHERE epi_number = '$epi_number'";
$result = mysql_query($sql) OR die(mysql_error());
while($ds = mysql_fetch_object($result)) {
$epi_number = $ds->epi_number;
$staffel = $ds->staffel;
$staffel_number = $ds->staffel_number;
$titel = $ds->titel;
$guide = $ds->guide;
echo "<div>#".$epi_number." ".$titel."</div>";
echo "<div>Staffel: ".$staffel." / Staffelnummer: ".$staffel_number."</div>";
echo "<div>".$guide."</div>";
}
?>
Verfasst: 22.11.2006 19:09
von Miriam
das immernoch alles bei http://....?id=0 angezeigt wird. Sonst nirgends.
Was heisst das auf Deutsch? Wo ist
sonst nirgends?
Verfasst: 22.11.2006 19:28
von Lohgock-Trainer
gebe ich nun id=1 an erscheint dort nichts.
Verfasst: 22.11.2006 21:34
von Miriam
Schauen wir mal:
Code: Alles auswählen
if(empty($id))
$sql = "SELECT epi_number, staffel, staffel_number, titel, guide FROM tv";
else
$sql = "SELECT epi_number, staffel, staffel_number, titel, guide FROM tv WHERE epi_number = '$epi_number'";
Wenn $id = 0, dann wird er IF Zweig ausgeführt, bei ganzen Zahlen > 0 der ELSE Zweig.
Dummerweise ist $epi_nummer = '' (leer) und somit die Abfrage in ELSE Zweig:
Code: Alles auswählen
SELECT epi_number, staffel, staffel_number, titel, guide FROM tv WHERE epi_number = ''
Und das bringt kein Ergebnis.
Zum restlichen Code sage ich erstmal nichts....

Verfasst: 22.11.2006 21:48
von Lohgock-Trainer
Ach, das ganze Teil kann ich wegwerfen
Verfasst: 22.11.2006 22:12
von Lohgock-Trainer
Hey, i-wie klappt es jetzt, habe nur was geändert
Code: Alles auswählen
<?
$epi_number = array("Episoden-Nummer");
$sql = "SELECT DISTINCT(epi_number) FROM tv ORDER BY epi_number";
$result = mysql_query($sql) OR die(mysql_error());
while($ds = mysql_fetch_object($result)) $epi_number[] = $ds->epi_number;
foreach($epi_number as $index => $menue) echo "<p><a href=\"?id=$index\">#$menue</a></p>";
$id = $_GET['id'];
settype($id,"integer");
if($id < 0 OR $id >= count($epi_number)) $id=0;
$where = $epi_number[$id];
$select = "*";
if(empty($id)) $sql = "SELECT $select FROM tv";
else $sql = "SELECT $select FROM tv WHERE epi_number '$where'";
$result = mysql_query($sql) OR die(mysql_error());
while($ds = mysql_fetch_object($result)) {
$epi_number = $ds->epi_number;
$staffel = $ds->staffel;
$staffel_number = $ds->staffel_number;
$titel = $ds->titel;
$guide = $ds->guide;
echo "<div>#".$epi_number." ".$titel."</div>";
echo "<div>Staffel: ".$staffel." / Staffelnummer: ".$staffel_number."</div>";
echo "<div>".$guide."</div>";
}
?>
EDIT: Ach verdammt, die IDs werden nicht korrekt angezeigt
Verfasst: 22.11.2006 22:29
von Miriam
Wo hängt's denn????
Und Du hast nicht wirklich
$select = "*"; geschrieben, Oder?
