Klemens Rangger: Variable aus MySQL-Tabelle definieren

Hallo zusammen,
ich habe in einer Tabelle drei Felder:

  • variable  zB. $Sprache
  • deutsch       Deutsch
  • englisch      Englisch

Aus der Tabelle sollen nun die Variablen definiert werden.
Irgendwas geht da aber nicht, ich schaff es ja nicht mal,
dass die Variable in Anführungszeichen steht (").

Für eure Hilfe wäre ich sehr froh.
Danke!
Klemens

$abfrage  = "select * from tabelle_variablen";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->variable, " = ", $row->deutsch, ";<br>";
    }

  1. Hi Klemens,

    Für eure Hilfe wäre ich sehr froh.

    dedlfix half dir doch bereits. Hat es damit nicht geklappt? Oder hattest du etwas nicht verstanden?

    Gruß,
    Andreas.

    1. Hallo Andreas,

      ich kann meinen alten Eintrag nicht mehr finden???
      Danke, ich habe nun die Hilfe von dedlfix ausprobiert,
      leider noch ohne Erfolg.

      Hier die Hilfe von dedlfix:
      ---------------------------
      Es ist vielleicht nicht nötig, einzelne Variablen anzulegen. Ein Vorschlag wäre, ein Array anzulegen, dessen Keys aus dem Inhalt von "bezeichnung" gebildet werden. Damit hast du eine definierte Stelle und keinen Variablen-Wildwuchs. Hier ein Beispiel:

      $config[$row->bezeichnung] = $row->deutsch;

      und vor dem while ein

      $config = array();

      Im Feld "bezeichnung" sollte nun aber der Inhalt nicht mehr mit einem $ beginnen.

      Ich habe das so versucht umzusetzen:
      ------------------------------------

      $abfrage  = "select * from $db5 order by bezeichnung";
        $ergebnis = mysql_query($abfrage);
        $config   = array();
        if($sprache == "DE")
          {
          while($row = mysql_fetch_object($ergebnis))
            {
            $config[$row->bezeichnung] = $row->deutsch;
            }
          }
        else
          {
          // gleicher Code wie oben nur mit englisch
          }

      Problem: die Variablen haben keinen Inhalt.

      1. Lösung gefunden
        ---------------

        Tabelle mit drei Feldern:

        Beispiel

        • variable    $Name
        • deutsch     Name
        • englisch    name

        Code mit eval()
        ---------------

        $abfrage  = "select * from $db5 order by variable";
          $ergebnis = mysql_query($abfrage);
          if($sprache == "DE")
            {
            while($row = mysql_fetch_object($ergebnis))
              {
              eval("$row->variable = "$row->deutsch"; ");
              }
            }
          else
            {
            while($row = mysql_fetch_object($ergebnis))
              {
              eval("$row->variable = "$row->englisch"; ");
              }
            }