Problem bei eigenem TV-CMS

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Lohgock-Trainer
Mitglied
Beiträge: 341
Registriert: 08.01.2006 03:04
Wohnort: Attendorn

Problem bei eigenem TV-CMS

Beitrag 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?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Wo kommt $epi_number her? Ich sehe keine Stelle wo das eingetragen wird.
Außerdem sieht es in der Zeile

Code: Alles auswählen

$where = $epi_number[$id]
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.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Lohgock-Trainer
Mitglied
Beiträge: 341
Registriert: 08.01.2006 03:04
Wohnort: Attendorn

Beitrag von Lohgock-Trainer »

Epi_number kommt in nem anderen Teil vor, aber hast Recht, habe das Array vergessen...
Lohgock-Trainer
Mitglied
Beiträge: 341
Registriert: 08.01.2006 03:04
Wohnort: Attendorn

Beitrag 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>";
	}
	?>
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

das immernoch alles bei http://....?id=0 angezeigt wird. Sonst nirgends.
Was heisst das auf Deutsch? Wo ist sonst nirgends?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Lohgock-Trainer
Mitglied
Beiträge: 341
Registriert: 08.01.2006 03:04
Wohnort: Attendorn

Beitrag von Lohgock-Trainer »

gebe ich nun id=1 an erscheint dort nichts.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag 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.... :oops:
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Lohgock-Trainer
Mitglied
Beiträge: 341
Registriert: 08.01.2006 03:04
Wohnort: Attendorn

Beitrag von Lohgock-Trainer »

Ach, das ganze Teil kann ich wegwerfen
Lohgock-Trainer
Mitglied
Beiträge: 341
Registriert: 08.01.2006 03:04
Wohnort: Attendorn

Beitrag 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
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Wo hängt's denn????

Und Du hast nicht wirklich $select = "*"; geschrieben, Oder? :o :o :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „Coding & Technik“