Arrayprobleme ? Wieso ?

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

  • Arrayprobleme ? Wieso ?

    Hallo,
    Ich komme einfach nicht weiter:
    Hier erstmal mein Code:

    include ("../dbconnect.php");
    $spiele=array();
    $spieler=array();
    $tipps=array();
    $resul='';
    $row='';

    $resul=mysql_query('SELECT * FROM spieltag');
    while ($row=mysql_fetch_array($resul)) {
    for ($i=1;$i<10;$i++) {
    $spiele=array($row[('torh'.$i)],$row[('torg'.$i)]);
    }
    }
    mysql_free_result($resul);

    Soweit so gut !
    Nun möchte ich das Ergebnis aus $spiele ausgeben. Wenn ich nach der Zeile $spiele=array($row[...... ein
    echo "$spiele[0]";
    echo "$spiele[1]";
    einfüge, bekomme ich die Daten aus dem array angezeigt. Hier in meinem Fall 111111111222222222. Das funktioniert einwandfrei.
    Nun steht das echo aber direkt in der Schleife.
    Setze ich ein Echo vor die mysql_free Zeile, also direkt nach der Schleife, so kann ich nicht mehr auf die Variable $spiele zugreifen und ich bekomme lediglich 11 angezeigt.
    Es scheint tatsächlich so, als ob nur in der Schleife das array $spiele gültig wäre.

    Wie aber mache ich es nun, dass ich auch noch später ausserhalb der Schleife auf das Array zugreifen kann ???
    Bitte helft mir, ich verzweifle langsam.

    Vielen Dank
    IceT

  • #2
    Hi,
    also dass du nur innerhalb deiner Schleife auf $spiele zugreifen kannst, liegt wahrscheinlich daran, dass $spiele nach jeder Schleife ja wieder nen anderen Inhalt erhält
    Also das müsste ja dann 9 (oder 10?) mal der Fall sein.

    Falls die for-Schleife dazu da ist, nur 9 Einträge aus der DB zu holen, mach das besser so:

    Code:
    ...
    $resul=mysql_query('SELECT * FROM spieltag [b]LIMIT 0,9[/b]');
    ...
    $spiele würde ich gleich in einzelne Variablen zerteilen.
    Also z.B. so:

    Code:
    include ("../dbconnect.php");
    $spiele=array();
    $spieler=array();
    $tipps=array();
    $resul='';
    $row='';
    [b]$i = 1;[/b]
    
    $resul=mysql_query('SELECT * FROM spieltag LIMIT 0,9');
    while ($row=mysql_fetch_array($resul)) {
    [b]$torh[$i] = $row[('$torh'.$i)];
    $torg[$i] = $row[('$torg'.$i)];
    $i++;[/b]
    }
    mysql_free_result($resul);
    $torh und $torg ist dann im restlichen Script verfügbar und mit ner Schleife für $i abrufbar ($torh[1] bis $torh[9] und $torg[1] bis $torg[9]).

    Weiss zwar net ob alles genauso funkt wie ich mir das vorgestellt hab, hoffe aber erst mal, dass es dir weiterhilft

    MfG
    Zuletzt geändert von GWC; 20.07.2002, 14:53.

    Kommentar


    • #3
      hmmmm

      Danke erstmal für deine Antwort:
      Hab das jetzt so gemacht:


      $res=mysql_query('SELECT * FROM spieltag LIMIT 0,9');
      while ($row=mysql_fetch_array($res)) {
      $torh[$i] = $row[('$torh'.$i)];
      $torg[$i] = $row[('$torg'.$i)];
      $i++;
      }
      for ($i=1;$i<10;$i++) {
      echo "$torh[$i]";
      }

      mysql_free_result($res);

      Geht aber leider immer noch nicht irgendwie !
      Jetzt bekomme ich gar kein Ergebnis mehr.
      Er zeigt nichts mehr.
      Was kann da noch falsch sein ??

      Kommentar


      • #4
        Hi,
        hast du $i am Anfang definiert?
        Also $i = 1;

        Wenn nein, versuchs mal so.
        Auch wenns damit net funzt, wir werden schon noch ne Lösung finden

        MfG

        Kommentar


        • #5
          array

          ja hab ich gemacht !
          Sorry, dass ich das nicht ins script gepostet habe.

          Kommentar


          • #6
            np.
            Hast du IRC oder ICQ?
            Da kann man das glaub ich besser besprechen als hier im Forum.

            MfG

            Kommentar


            • #7
              array

              ICQ 31915833

              Kommentar

              Lädt...
              X