Hallo!
Ich quäle mich seit ein paar Stunden mit einem Script das einfach nicht auf dem Server laufen will.
Das Script ist Teil einer Seite, die durch Verweis von einer anderen entsteht, nach dem Motto:
[COLOR=blue]"docs/liste/liste_index.php?id=5&category=a"[/COLOR]
In Abhängigkeit von "category" soll eine Fallunterscheidung für eine MySQL-Datenbankabfrage stattfinden, etwa so (skript hier auf das Wesentliche gekürzt):
[COLOR=red]
//Verbindung zum Host herstellen[/COLOR]
[COLOR=green]
include("../../includes/mysql.inc");[/COLOR]
[COLOR=red]
// übergebene Variablen prüfen[/COLOR]
[COLOR=green]
$id=$_GET['id'];
$category=$_GET['category'];[/COLOR]
[COLOR=red]
//Fallunterscheidung der "category":[/COLOR]
[COLOR=green]
switch($category)
{[/COLOR]
[COLOR=red]
//Fall 1
[/COLOR]
[COLOR=green]
case "a": $sql = mysql_query("SELECT a, b, c, d, id FROM Tabelle1 WHERE id=$id")
or die ("Anfrage fehlgeschlagen!");
while ($ds = mysql_fetch_object($sql))
{
$a = $ds -> a;
$b = $ds ->b;
$c= $ds -> c;
$d = $ds -> d;
echo "$a, $b, $c, $d";
}
mysql_close($ds);
break; [/COLOR]
[COLOR=red]
//Fall 2
[/COLOR]
[COLOR=green]
case "b": $sql = mysql_query("SELECT e, f, g, h, id FROM Tabelle2 WHERE id=$id")
or die ("Anfrage fehlgeschlagen!");
while ($ds = mysql_fetch_object($sql))
{
$e = $ds -> e;
$f = $ds -> f;
$g = $ds -> g;
$h = $ds -> h;
echo "$e, $f, $g, $h";
}
mysql_close($ds);
break;
}
[/COLOR]
Ich bekomme beim Ausführen des Scriptes auf dem Server keinen Text ausgegeben im Browserfenster, aber eine Fehlermeldung kommt auch nicht. Es muss doch möglich sein, über so eine "Switch"-Unterscheidung zwei verschiedene Queries zu machen oder?
Kleine Info: Da sich die beiden Tabellen bei mir in der Realität deutlich voneinander unterscheiden in der Struktur, macht es keinen Sinn, die Informationen einfach in einer einzigen Tabelle zusammenzupacken.
Wo liegt hier der Fehler?! Ich weiß nicht ob ich hier beim Übertragen jetzt Tippfehler gemacht habe, im Original sind auf jeden Fall keine drin.
Vielen Dank,
der Programmator
Ich quäle mich seit ein paar Stunden mit einem Script das einfach nicht auf dem Server laufen will.
Das Script ist Teil einer Seite, die durch Verweis von einer anderen entsteht, nach dem Motto:
[COLOR=blue]"docs/liste/liste_index.php?id=5&category=a"[/COLOR]
In Abhängigkeit von "category" soll eine Fallunterscheidung für eine MySQL-Datenbankabfrage stattfinden, etwa so (skript hier auf das Wesentliche gekürzt):
[COLOR=red]
//Verbindung zum Host herstellen[/COLOR]
[COLOR=green]
include("../../includes/mysql.inc");[/COLOR]
[COLOR=red]
// übergebene Variablen prüfen[/COLOR]
[COLOR=green]
$id=$_GET['id'];
$category=$_GET['category'];[/COLOR]
[COLOR=red]
//Fallunterscheidung der "category":[/COLOR]
[COLOR=green]
switch($category)
{[/COLOR]
[COLOR=red]
//Fall 1
[/COLOR]
[COLOR=green]
case "a": $sql = mysql_query("SELECT a, b, c, d, id FROM Tabelle1 WHERE id=$id")
or die ("Anfrage fehlgeschlagen!");
while ($ds = mysql_fetch_object($sql))
{
$a = $ds -> a;
$b = $ds ->b;
$c= $ds -> c;
$d = $ds -> d;
echo "$a, $b, $c, $d";
}
mysql_close($ds);
break; [/COLOR]
[COLOR=red]
//Fall 2
[/COLOR]
[COLOR=green]
case "b": $sql = mysql_query("SELECT e, f, g, h, id FROM Tabelle2 WHERE id=$id")
or die ("Anfrage fehlgeschlagen!");
while ($ds = mysql_fetch_object($sql))
{
$e = $ds -> e;
$f = $ds -> f;
$g = $ds -> g;
$h = $ds -> h;
echo "$e, $f, $g, $h";
}
mysql_close($ds);
break;
}
[/COLOR]
Ich bekomme beim Ausführen des Scriptes auf dem Server keinen Text ausgegeben im Browserfenster, aber eine Fehlermeldung kommt auch nicht. Es muss doch möglich sein, über so eine "Switch"-Unterscheidung zwei verschiedene Queries zu machen oder?
Kleine Info: Da sich die beiden Tabellen bei mir in der Realität deutlich voneinander unterscheiden in der Struktur, macht es keinen Sinn, die Informationen einfach in einer einzigen Tabelle zusammenzupacken.
Wo liegt hier der Fehler?! Ich weiß nicht ob ich hier beim Übertragen jetzt Tippfehler gemacht habe, im Original sind auf jeden Fall keine drin.
Vielen Dank,
der Programmator
Kommentar