ThomasX: Erfebnis einer Abfrage als Variable ausgeben

Hallo,
ich habe eine eher leichte Aufgabe die ich nicht lösen kann - irgendwie steh ich da auf der Leitung ;-)

also: ich habe in einer Datenbanktabelle die Spalten variable und setting ... die Datenbank habe ich bereist kontaktiert ...

jetzt habe ich folgenden Code:

function get_setting ($variable)
{
 $result = mysql_query("SELECT setting FROM school_config WHERE variable = $variable");
}

$title = get_setting ($variable="title");
$banner = get_setting ($variable="banner");
$undertitle = get_setting ($variable="undertitle");
$tpl = get_setting ($variable="tpl");

Dieses Script sollte eigentlich immer das zur Variable gehörende Feld SETTING auslesen und dann die Variable definieren. Aber irgendwie funktioniert das nicht ... was mache ich falsch?

Gruß,
ThomasX

  1. Hi,

    function get_setting ($variable)
    {
    $result = mysql_query("SELECT setting FROM school_config WHERE variable = $variable");
    }

    $title = get_setting ($variable="title");
    $banner = get_setting ($variable="banner");
    $undertitle = get_setting ($variable="undertitle");
    $tpl = get_setting ($variable="tpl");

    Dieses Script sollte eigentlich immer das zur Variable gehörende Feld SETTING auslesen und dann die Variable definieren. Aber irgendwie funktioniert das nicht ... was mache ich falsch?

    So einiges ;)

    Um Dein Script zu berichtigen:

    function get_setting ($variable)
     {
      $result = mysql_query("SELECT setting FROM school_config WHERE variable = $variable");
      $setting = mysql_fetch_array($result);
      return $setting[$variable];
     }

    $title = get_setting ("title");
     $banner = get_setting ("banner");
     $undertitle = get_setting ("undertitle");
     $tpl = get_setting ("tpl");

    ABER: So macht man das nicht [tm] ;)

    Versuch es mit einer Query, das ist etwas resourcensparender:

    $result = mysql_query('
    SELECT setting, variable
    FROM school_config
    WHERE
    variable = "title" OR
    variable = "banner" OR
    variable = "undertitle" OR # das heisst subtitle ;)
    variable = "tpl"');

    while($fields = mysql_fetch_array($result)) {
      switch($fields['variable']) {

    case 'title':
        $title = $fields['setting'];
      break;
      case 'banner':
        $banner = $fields['banner'];
      break;
      case 'undertitle':
        $undertitle = $fields['undertitle'];
      break;
      case 'tpl':
        $tpl = $fields['tpl'];
      break;
      }
    }

    Ich wuerde das ganze auch nochmal ueberdenken, mir entgeht bisher der Sinn des ganzen.

    Jan
    --
    P.S.: DISCLAIMER: Alles aus hohler Hand und ungetestet.

    1. Hi,

      function get_setting ($variable)
      {
      $result = mysql_query("SELECT setting FROM school_config WHERE variable = $variable");
      }

      $title = get_setting ($variable="title");
      $banner = get_setting ($variable="banner");
      $undertitle = get_setting ($variable="undertitle");
      $tpl = get_setting ($variable="tpl");

      Dieses Script sollte eigentlich immer das zur Variable gehörende Feld SETTING auslesen und dann die Variable definieren. Aber irgendwie funktioniert das nicht ... was mache ich falsch?
      So einiges ;)

      Um Dein Script zu berichtigen:

      function get_setting ($variable)
      {
        $result = mysql_query("SELECT setting FROM school_config WHERE variable = $variable");
        $setting = mysql_fetch_array($result);
        return $setting[$variable];
      }

      $title = get_setting ("title");
      $banner = get_setting ("banner");
      $undertitle = get_setting ("undertitle");
      $tpl = get_setting ("tpl");

      ABER: So macht man das nicht [tm] ;)

      Versuch es mit einer Query, das ist etwas resourcensparender:

      $result = mysql_query('
      SELECT setting, variable
      FROM school_config
      WHERE
      variable = "title" OR
      variable = "banner" OR
      variable = "undertitle" OR # das heisst subtitle ;)
      variable = "tpl"');

      while($fields = mysql_fetch_array($result)) {
        switch($fields['variable']) {

      case 'title':
          $title = $fields['setting'];
        break;
        case 'banner':
          $banner = $fields['banner'];
        break;
        case 'undertitle':
          $undertitle = $fields['undertitle'];
        break;
        case 'tpl':
          $tpl = $fields['tpl'];
        break;
        }
      }

      Ich wuerde das ganze auch nochmal ueberdenken, mir entgeht bisher der Sinn des ganzen.

      Jan

      P.S.: DISCLAIMER: Alles aus hohler Hand und ungetestet.

      Dankeschön!