user76: Array umwandeln

Hallo,

ich habe aus einer SQL-Abfrage einen Array bekommen. Der Array enthält jetzt zum Beispiel das Ergebnis für die Spalte x mit $array[x]. Ich möchte nun den Array so umwandeln, so dass was in der eckigen Klammer ist, der Variablenname für den korrespondierenden Wert ist. Aus $array[x] soll also $x werden.

Vielen Dank im Vorraus.

Gruß
User76

  1. Halihallo user76

    ich habe aus einer SQL-Abfrage einen Array bekommen. Der Array enthält jetzt zum Beispiel das Ergebnis für die Spalte x mit $array[x]. Ich möchte nun den Array so umwandeln, so dass was in der eckigen Klammer ist, der Variablenname für den korrespondierenden Wert ist. Aus $array[x] soll also $x werden.

    Warum? - Das gibt nur undurchsichtiger Salat. Verwende das Array
    as is, das ist sinnvoller. An deinem Vorschlag kann ich nichts gutes
    feststellen.

    Viele Grüsse

    Philipp

    1. Hallo,

      ich verwende ein Formular, das die Variable $x benutzt. Nun sollen die SQL-Ergebnisse in dieses Formular als Value geschrieben werden. Ich muss also entweder die $x auf $array[x] oder $array[x] auf $x ändern. Letzteres erscheint mir sinnvoller.
      Die Daten sollen nach Abschicken in der Tabelle aktualisiert werden und hier verwende ich für die SQL-Befehle nunmal auch $x.

      Mit freundlichen Grüßen
      Patrick Wößner

      1. Halihallo user76

        ich verwende ein Formular, das die Variable $x benutzt. Nun sollen die SQL-Ergebnisse in dieses Formular als Value geschrieben werden. Ich muss also entweder die $x auf $array[x] oder $array[x] auf $x ändern. Letzteres erscheint mir sinnvoller.

        Nein, ist es nicht; das alte Grundprinzip von PHP alles, aber auch
        wirklich alles als globale Variablen zu exportieren ist einfach
        ein schlechter Ansatz. Dies wurde seit register_globals=off auch
        eingesehen. Dies wieder zu beginnen ist nicht sinnvoll.

        Die Daten sollen nach Abschicken in der Tabelle aktualisiert werden und hier verwende ich für die SQL-Befehle nunmal auch $x.

        http://www.php.net/register_globals

        Viele Grüsse

        Philipp

        1. Hallo,

          Ich kann doch mit einem Formular kein Array zusammensetzen.
          <input type="text" maxlength="100"  style="width:100%" size="40" value="array[x]" name="array[x]">
          sollte nicht fuktionieren.

          Falls du einen Möglichkeit kennst, das Array in einzelne Variablen zu zerlegen sag ihn mir doch bitte, sonst mache ich mit
          $x=$array[x];
          für jeden Teil des Array weiter :)

          Gruß
          Patrick

          1. P.S.

            value="array[x]" ist natürlich schwachsinn, muss <?php echo $array[x]; ?> rein.

          2. Halihallo user76

            Ich kann doch mit einem Formular kein Array zusammensetzen.

            Falsch, es _wird_ bereits als Array importiert und dieses nennt sich
            $_GET[] oder $_POST[]. Daraus entnimm die Felder, welche du in
            der Datenbank speichern möchtest.

            <input type="text" maxlength="100"  style="width:100%" size="40" value="array[x]" name="array[x]">
            sollte nicht fuktionieren.

            <input type="text" name="test15" value="$array[test15]">

            Auslesen über

            $_GET['test15']

            Falls du einen Möglichkeit kennst, das Array in einzelne Variablen zu zerlegen sag ihn mir doch bitte, sonst mache ich mit

            http://ch2.php.net/manual/de/language.types.array.php
            Verwende die Indizies :-)

            $x=$array[x];

            Warum denn nicht einfach $array[x]?

            Viele Grüsse

            Philipp

            1. Hello,

              Falsch, es _wird_ bereits als Array importiert und dieses nennt sich
              $_GET[] oder $_POST[]. Daraus entnimm die Felder, welche du in
              der Datenbank speichern möchtest.

              <input type="text" maxlength="100"  style="width:100%" size="40" value="array[x]" name="array[x]">
              sollte nicht fuktionieren.

              <input type="text" name="test15" value="$array[test15]">

              warum sollte man die Bündelung der Variablen aufbrechen?

              <input type="text" name="array[test15]" value="<?php echo $array['test15'] ?>">

              sollte es doch auch tun.

              Ich nenne meine Arrays in Formularen allerdigns immer

              data[feldname]
              ctrl[element]    oder
              ctrl[element][]
              btn[buttonname]

              um sie ganz klar zu trennen und im Script eher mechanisch verarbeiten zu können. Das entbindet natürlich nicht von der Kontrollpflicht der gesendeten Paramter.

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
  2. Hallo

    Hallo,

    ich habe aus einer SQL-Abfrage einen Array bekommen. Der Array enthält jetzt zum Beispiel das Ergebnis für die Spalte x mit $array[x]. Ich möchte nun den Array so umwandeln, so dass was in der eckigen Klammer ist, der Variablenname für den korrespondierenden Wert ist. Aus $array[x] soll also $x werden.

    Vielleicht willst Du die Funktion mysql_fetch_assoc http://www.php.net/manual/de/function.mysql-fetch-assoc.php verwenden?

    Das andere sind variable Variablen, Beispiel:

    $test = 'beispiel'
    $$test = 'noch eines'

    Nach der zweiten Anweisung hat die Variable
      $beispiel
    den Wert 'noch eines'

    Ich denke, Du wirst mit mysql_fetch_assoc glücklicher.

    Gruss,

    Vinzenz

    --
    Die FAQ </faq/> des Forums sind lesenswert und hilfreich.
    1. Hello,

      ich kann mir zwar nicht vorstellen, was der Sinn sein sollte, wunderbar gebündelte Variablen zu vereinzeln, aber vielleicht hilft Dir http://de3.php.net/manual/de/function.extract.php

      Ich würde diese Funktion, wenn überhaupt, nur innerhalb einer Funktion anwenden. Dann bleiben die Variablen zumindest funktions-temporär.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen