Announcement

Collapse
No announcement yet.

Länge eines mehrdimensionalen Arrays ermitteln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Länge eines mehrdimensionalen Arrays ermitteln

    Hallo,

    seit Stunden grübel ich drüber nach:

    Ich habe eine Funktion GetMyData, der Code an sich hat funktioniert, als er noch nicht in einer Funktion steckte.

    Die Parameter sind ein SQL-String und eine Verbindungskennung zur Datenbank.

    Ich bekomme auch die gewünschten Daten (eine Tabelle mit 2 Spalten und 3 Zeilen. Um jedoch daraus wieder eine Tabelle in HTML erzeugen zu können, brauche ich ja eben die Werte 2 und 3 und dachte, ich zähle einfach die Einträge im Array in den Dimensionen.

    Nun liefert mir count($ergebnis[0]) seltsamerweise den Wert 4 statt 2. Dabei steht nur in den ersten beiden etwas drin. Die Tabelle hat zwei Spalten und drei Zeilen und in allen Feldern steht ein Wert.

    Und dabei wollte ich mir nur eine Funktion schreiben, die mir ein SELECT etwas erleichtern sollte... Naja, die Tabellenbezeichnungen gehen mir so ja auch verloren... vielleicht bleibe ich bei meiner bewährten Lösung ohne Funktion

    Kann mir jemand weiterhelfen?

    function GetMyData($sql, $connection){
    $result=mysql_query($sql, $connection);
    for($i=0;$i<mysql_num_rows($result);$i++)
    {
    $ergebnis[$i]=mysql_fetch_array($result);
    }
    return $ergebnis;
    };

    $ergebnis= GetMyData("SELECT * FROM tabelle;", $connection);
    $cols=count($ergebnis[0]);
    $rows=count($ergebnis);

  • #2
    mysql_fetch_array

    Die Daten werden sowohl unter numerischen Indizes des Ergebnis-Arrays abgelegt, als auch unter assoziativen Indizes.

    Nun liefert mir count($ergebnis[0]) seltsamerweise den Wert 4 statt 2.
    Das ist somit dann richtig
    Christian

    Comment


    • #3
      Danke Christian. Ich weiß zwar nicht, was das heißt, aber vielleicht bekomm ich das auch noch raus

      edit: Ich experimentiere grad mit mysql_fetch_row und mysql_fetch_assoc und komme irgendwie zu der Erkenntnis, dass meine Funktion wohl überflüssig ist, da sie irgendwie nie sämtliche Werte der Tabelle + Spaltennamen + Spaltenanzahl zurückgibt, um damit in HTML eine Tabelle mit der Ergebnismenge nachzubauen. Schade.
      Zuletzt editiert von KarlF; 22.01.2011, 12:41. Reason: selbst nach Antwort gesucht

      Comment


      • #4
        Danke Christian. Ich weiß zwar nicht, was das heißt, aber vielleicht bekomm ich das auch noch raus
        Das Array enthält die Daten in der Form

        array[0]="hallo"
        array[column_name_1]="hallo"
        array[1]="welt"
        array[column_name_2]="welt"
        Christian

        Comment


        • #5
          Dass mysql_fetch_array beides liefert, wusste ich nicht. Jetzt weiß ich es, danke Christian

          Und meine Tabelle hab ich auch realisiert. Nur noch nicht als Funktion und ich denke auch, ich setze dies mit einer Klasse um.

          Bin grad im OOP-Fieber

          Comment

          Working...
          X