Ausgabe eines Arrays per for-Schleife

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgabe eines Arrays per for-Schleife

    Hallo zusammen!

    ich möchte aus einem multidimensionalen Array die Einträge 50 bis 100 ausgeben. Dazu muss ich sagen, dass dies meine ersten Gehversuche mit multidimensionalen Arrays sind.

    Frage 1 ist ganz einfach: Warum klappt das hier nicht?

    for ($i=50; $i<=100; $i++)
    {
    echo"$array["eintrags_id"][$i]<br>";
    }

    Frage 2: Was muss ich schreiben, damit's funktioniert?

    Schonmal vorab herzlichen Dank!

  • #2
    PHP-Code:
     echo $array['eintrags_id'][$i].'<br>'
    zum beispiel

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Re: Ausgabe eines Arrays per for-Schleife

      Glaubst du wirklich, ohne die Struktur deines Arrays zu kennen, könnte dazu jemand was sagen ...?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        zur Struktur des Arrays

        ist halt'n bißerle schwierig, so eine Frage zu stellen, ohne vorab Romane schreiben zu müssen (die sich dann niemand durchliest).

        OK, also versuch ich's mal:

        ich nehme eine DaBa-Afrage vor. Für "suchwort" erhalte ich 1.000 Treffer.
        Diese schreibe ich in der Art...
        $zaehl=0;
        $sql="SELECT * FROM moebel WHERE moebelstueck='$suchwort'";
        $res=mysql_query($sql,$conn);
        while ($row=mysql_fetch_array($res, MYSQL_ASSOC))
        {
        $array["eintrags_id"][$zaehl]="$row[id]";
        $array["laenge"][$zaehl]="$row[laenge]";
        $zaehl++;
        }
        ...in ein Array. Danach sortiere ich das Array, um die längsten Möbelstücke als erstes ausgeben zu können:
        array_multisort($array["laenge"], SORT_NUMERIC, SORT_DESC, $array["eintrags_id"]);

        Num sollen die gefundenen und sortierten Treffer wieder ausgegeben werden, und zwar ganz gezielt die Treffer 50 bis 100:

        for ($i=50; $i<=100; $i++)
        {
        $sql="SELECT id, moebelstueck, laenge FROM moebel WHERE id='$array["eintrags_id"][$i]'";
        $res=mysql_query($sql,$conn);
        while ($row=mysql_fetch_array($res, MYSQL_ASSOC))
        {
        echo"$row[moebelstueck] ist $row[laenge]cm lang.
        }
        }

        besser so?

        Kommentar


        • #5
          [COLOR=red]Hat sich erledigt! [/COLOR]

          ich Trottel hab ne Klammer in der zweiten while-Abfrage übersehen! Sorry, tut mir leid - das Problem, welches ich hier aufwerfe stellt sich somit gar nicht! Ich bitte vielmals um Entschuldigung

          Kommentar


          • #6
            Re: Ausgabe eines Arrays per for-Schleife

            Original geschrieben von partizan
            Frage 1 ist ganz einfach: Warum klappt das hier nicht?

            for ($i=50; $i<=100; $i++)
            {
            echo"$array["eintrags_id"][$i]<br>";
            }

            Es gibt noch eine einfache Antwort.
            (1) sind "..." als array-indizes zwar nicht falsch, aber nicht üblich.
            (2) hast du im speziellen ".." innerhalb eines "..." strings, das gibt Syntaxfehler (als Auslegung von `'"klappt nicht'"`)
            (3) von einer fehlenden klammer sehe ich im Beispiel nichts.

            (4) Ich habe noch folgendes gesehen:
            $array["eintrags_id"][$zaehl]="$row[id]";

            besser wäre hier
            $array['eintrags_id'][$zaehl]=$row[id];
            oder (je nach Situation)
            $array[$eintrags_id][$zaehl]=$row[id];
            Zuletzt geändert von mäander_; 11.07.2006, 12:57.

            Kommentar

            Lädt...
            X