mit while schleife case abfragen erstellen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ansatz
anzeigen
break
code
datei
datenbank
datum
erstellen
externe datei
hau
packen
sagen
schleife
spalten
switch
tabelle
tun
wiederholen
zeile
-
Hallo,
ich habe aus einer datenbanktabelle alle spalten mit einer while schleife ausgelesen. Nun möchte ich aus diesen daten (z.B $name) neue case abfragen erstellen, aber wenn ich in die swich() abfrage eine while-Schleife einbaue, bringt er den Fehler unexpected T_WHILE. Aber wie kann ich dann aus daten aus einer datenbank eine case abfrage erstellen?
Also sowas:
Datenbank-Array: $abfrage->name
switch($site)
{
case ($abfrage->name): <------ Das sooft wiederholen bis alle zeilen aus der Datenbank ausgegeben wurden
//Code....
break;
}
Wie kann ich das realisieren?
Mfg
mmc -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du meinst also quassi so:
while($abfrage = mysql_fetch_object($sql)){
switch($site)
{
case ($abfrage->name): <------ Das sooft wiederholen bis alle zeilen aus der Datenbank ausgegeben wurden
//Code....
break;
}
}
oder willst du innerhalb von case eine while schleife laufen lassen? Also zwischen case xyz: und break;? Wenn PHP das nicht zulässt kannst du versuchen eine funktion zu erstellen in der die while schleife läuft und die dann nach case aufzurufen. also so:
function schleife($abfrage){
while(xyz){
tu dies und tu das;
}
}
switch($site)
{
case ($abfrage->name): schleife($abfrage);
break;
} -
Nein. Ich möchte die Case Fälle eben durch eine while schleife erstellen lassen.
switch($site)
{
while($anzeigen = mysql_fetch_object($sql))
{
case($anzeigen->name):
include "abc.php";
break;
}
} -
geht nicht ende...
was würde das auch für einen sinn machen?? -
du köööööööööntest (nich haun nikic) das ganze provisorisch machen^^
ich beschreibs mal:
du sammelst erst alle case-fälle in einer variable. also du erstellst die switch in einer variable. (mit deiner while, immer weiter ranhängen)
daaaaaaann speicherst du die variable in eine externe datei ab, DANACH bindest du genau die datei ein, die du gerade erstellt hast. dann müsste er die switch ausführen wie du willst.
theoretisch könnts klappen, praktisch bringst du das system um würd ich sagen xD
probiers -
Ich hau doch keinen *gg*
@Threadersteller: Könntest du mal sagen, was in der DB steht? Also wie sieht die Datenbank aus und mit welchem Query fragst du es ab? Dann können wir dir sicher besser helfen ;)
@ggamee: Du musst das nicht unbedingt in ne Datei packen, du kannst auch eval() nutzen.
Beitrag zuletzt geändert: 3.6.2010 15:21:11 von nikic -
Also ich denk du hast dich irgendwie verzettelt bei dem was du machen willst mmc ;)
Was soll denn in der aus der Datenbank ausgelesenen case-Blöcken gemacht werden? wenn du beim erstellen der PHP noch nicht weißt was im case-Statement steht dann weißt du doch auch nicht was da ausgeführt werden soll.
Also ich habe zwei vermutungen was du wollen könntest (klingt komisch ^^):
1. In deiner Tabelle gibt es eine Spalte, in welcher eine Datei steht die eingebunden werden soll:
while($anzeigen = mysql_fetch_object($sql)) { include $anzeigen->datei; }
2. Du willst für jeden Eintrag in der Tabelle eine bestimmte Datei anzeigen:
switch($anzeigen->name) { case "name1": include "abc.php"; break; case "name2": include "def.php"; break; default: include "default.php"; break; }
Falls du doch etwas anderes tun willst beschreib einfach mal in Worten was in der Tabelle steht und was das PHP-Skript tun soll. Denn dein Ansatz ist definitiv falsch ;D
Grüße
Stefan
Beitrag zuletzt geändert: 5.6.2010 13:23:45 von flashmob-riedlingen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage