mAtze: Array Problem, schaffe nicht name, anzahl, geb in mein Array zu

Ich bekomme nur "name" in mein Array,

Ich schaffe es einfach nicht "anzahl" und "geb" aus meiner Datenbank noch dazu in menn Array zu schreiben

-----------------------------------------------

$query = 'SELECT start,id,name,anzahl,geb FROM tabelle';

$SQLString = mysql_query($query);

$a = array();

while ($daten = mysql_fetch_assoc($SQLString))
{
$a[$daten['start']][$daten['id']] = $daten['name'];
}
mysql_free_result($SQLString);

-----------------------------------------------

Für eine Hilfe wäre ich alles andere als nicht Dankbar

mAtze

  1. مرحبا

    Ich schaffe es einfach nicht "anzahl" und "geb" aus meiner Datenbank noch dazu in menn Array zu schreiben

    $a[$daten['start']][$daten['id']] = $daten['name'];

    Du schreibst in dein Array ja auch nur einen Wert, in diesem Fall $daten['name'].

    mfg

    1. Ja, weil ich zu ***** bin.

      ich weis nicht wie ich den zweitem dritten Wert reinbekommen?

      $a[$daten['start']][$daten['id']] = $daten['name']$daten['geb'];

      ist nicht von Erfolg gekrönt.

      mAtze

      مرحبا

      Ich schaffe es einfach nicht "anzahl" und "geb" aus meiner Datenbank noch dazu in menn Array zu schreiben

      $a[$daten['start']][$daten['id']] = $daten['name'];

      Du schreibst in dein Array ja auch nur einen Wert, in diesem Fall $daten['name'].

      mfg

      1. Ja, weil ich zu ***** bin.

        ich weis nicht wie ich den zweitem dritten Wert reinbekommen?

        $a[$daten['start']][$daten['id']] = $daten['name']$daten['geb'];

        ist nicht von Erfolg gekrönt.

        Was willst Du denn ueberhaupt machen? Einen einzigen String bauen? Ich hab dich so verstanden dass du sowas haben wolltest:

        Array[1][name]=Meier
        Array[1][geburtstag]=1.1.2000
        Array[2][name]=Schmidt
        Array[2][geburtstag]=1.1.1999

        Deine misslungene Verkettung da oben (schau doch mal spasseshalber in die Dokumentation) scheint aber darauf hinzuweisen, dass du sowas willst:
        Array[1]=Meier 1.1.2000
        Array[2]=Schmidt 1.1.1999

        --
        Signaturen sind blöd!
      2. مرحبا

        Ja, weil ich zu ***** bin.

        Nicht doch.

        $a[$daten['start']][$daten['id']] = $daten['name']$daten['geb'];
        ist nicht von Erfolg gekrönt.

        $a[$daten['start']][$daten['id']] = $daten['name'];

        Mit $daten['name'] bestimmst du, dass du nur den Wert ['name'] aus der DB haben willst. Du musst es einfach weglassen.

        Schau dir erstmal an, was im Array $daten gespeichert ist. Ungetestet (also in etwa)

          
        while ($daten = mysql_fetch_assoc($SQLString))  
        {  
        var_dump($daten);  
        }  
        
        

        mfg

  2. Hello,

    Ich bekomme nur "name" in mein Array,

    Ich schaffe es einfach nicht "anzahl" und "geb" aus meiner Datenbank noch dazu in menn Array zu schreiben

    Zunächst benutze einfach mal sprechende Variablenbezeichner:

    $query = 'SELECT start,id,name,anzahl,geb FROM tabelle';

    $sqlresult = mysql_query($query);

    dann frage, ob überhaupt ein Resultset vorhanden ist:

    if ($sqlresult)
      {
          ### und weiter gehts

    $_liste = array(); ## leere Ergenisliste als Array

    while ($_record = mysql_fetch_assoc($SQLString))   ## nächsten Datensatz holen
          {
              $_liste[] = $_record;   ## Datensatz zur Liste hinzufügen

    ##        alternativ:
    ##        $_liste[$_record['id']] = $_record;   ## Datensatz zur Liste hinzufügen
    ##                                              ## unter dem Index der id aus der DB
          }

    mysql_free_result($sqlresult);

    echo "<pre>\r\n";
    echo htmlspecialchars(print_r($_liste,1));
    echo "</pre>\r\n";

    Versuch es mal so ^

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello Ingrid,

      kleine Fehler gibts immer :-O

      Zunächst benutze einfach mal sprechende Variablenbezeichner:

      $query = 'SELECT start,id,name,anzahl,geb FROM tabelle';

      $sqlresult = mysql_query($query);

      dann frage, ob überhaupt ein Resultset vorhanden ist:

      if ($sqlresult)
        {
            ### und weiter gehts

      $_liste = array(); ## leere Ergenisliste als Array

      while ($_record = mysql_fetch_assoc($sqlresult))   ## nächsten Datensatz holen

      {
                $_liste[] = $_record;                          ## Datensatz zur Liste hinzufügen

      ##        alternativ:
      ##        $_liste[$_record['id']] = $_record;            ## Datensatz zur Liste hinzufügen
      ##                                                       ## unter dem Index der id aus der DB
            }

      mysql_free_result($sqlresult);

      }

      echo "<pre>\r\n";
        echo htmlspecialchars(print_r($_liste,1));
        echo "</pre>\r\n";

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. Hoi!

      $_liste[] = $_record;   ## Datensatz zur Liste hinzufügen

      Das geht sicher auch so. Aber er wollte eigentlich nur 3 von 5 Feldern uebernehmen. Die andern beiden bilden nur den Index.

      --
      Signaturen sind blöd!
      1. مرحبا

        $_liste[] = $_record;   ## Datensatz zur Liste hinzufügen

        Aber er wollte eigentlich nur 3 von 5 Feldern uebernehmen. Die andern beiden bilden nur den Index.

        Was zurück kommt wählt man vorher im SELECT-Statement, von daher kommt auch bei Tom nur zurück, was man im Statement auswählt.

        mfg

        1. Hi!

          Was zurück kommt wählt man vorher im SELECT-Statement, von daher kommt auch bei Tom nur zurück, was man im Statement auswählt.

          Das man in einem select festlegt, was die Datenbank zurueckgibt war mir jetzt nicht wirklich neu. Aber ich verstehe nicht, warum man bei select name, vorname, startdate, gebdate from table und dem gewuenschten ergebnis

          array[startdate gebdate][name]
          array[startdate gebdate][vorname]

          sowas anlegen sollte:

          array[startdate gebdate][name]
          array[startdate gebdate][vorname]
          array[startdate gebdate][startdate]
          array[startdate gebdate][gebdate]

          Welches Select soll ich also nehmen, das mir meine ID gibt, aber kein ueberfluessiges Element erstellt? 2 Selects wollt ich jetzt nicht starten. Da bau ich lieber manuell mein Array zeilenweise auf.

          --
          Signaturen sind blöd!
          1. مرحبا

            Das man in einem select festlegt, was die Datenbank zurueckgibt war mir jetzt nicht wirklich neu. Aber ich verstehe nicht, warum man bei select name, vorname, startdate, gebdate from table und dem gewuenschten ergebnis

            Mir ging es eigentlich eher darum, dem OP deutlich zu machen, was im Resultat bereits drin steht. Nämlich alle Daten, die der OP will.
            Ich denke mal, das Tom auf das gleiche hinaus wollte.

            array[startdate gebdate][name]
            array[startdate gebdate][vorname]

            sowas anlegen sollte:

            array[startdate gebdate][name]
            array[startdate gebdate][vorname]
            array[startdate gebdate][startdate]
            array[startdate gebdate][gebdate]

            Das ist ja beides falsch und auch überflüssig. Wenn der OP erst einmal weiss, was sein Statement alles liefert, kann er damit auch arbeiten.

            mfg

            1. Hello,

              Das ist ja beides falsch und auch überflüssig. Wenn der OP erst einmal weiss, was sein Statement alles liefert, kann er damit auch arbeiten.

              So war es gedacht, was man schon am

              echo "<pre>\r\n";
              echo htmlspecialchars(print_r($_liste,1));
              echo "</pre>\r\n";

              sehen könnte...

              Denn sinnvollerweise gibt man die Daten im Betrieb ja nicht auf diese Weise aus, sondern reicht das Arrays $_liste weiter zur Verarbeitung.

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de