kostenloser Webspace werbefrei: lima-city


mit while schleife case abfragen erstellen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mmc

    mmc hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi mmc,

    also deine Frage ist recht verwirrend, ich versteh noch nicht so ganz was du vorhast.
    Am besten du schreibst mal ganz ohne deinen Programmieransatz was du tun willst. Denn eine While-Schleife hat recht wenig mit einem switch-case-Block zu tun.

    Grüße
    Stefan
  4. christianbrosch

    christianbrosch hat kostenlosen Webspace.

    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;
    }
  5. Autor dieses Themas

    mmc

    mmc hat kostenlosen Webspace.

    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;
    }
    }
  6. geht nicht ende...
    was würde das auch für einen sinn machen??
  7. g****e

    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 :-D
  8. Ich hau doch keinen *gg* :biggrin:

    @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
  9. flashmob-riedlingen

    flashmob-riedlingen hat kostenlosen Webspace.

    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
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!