Tabelle auslesen

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

  • Tabelle auslesen

    Hallo zusammen,

    ich habe ein für mich ürgendwie nicht lösbares problem.
    vielleicht könnt ihr mir ja helfen.

    Folgendes:

    Ich habe eine Tabelle für Fussball Spieltage.
    Also
    1. Spieltage 1. Spiel Mannschaft 1 gegen Mannschaft 2
    1. Spieltage 2. Spiel Mannschaft 3 gegen Mannschaft 4

    so können das mehrere spiele an einem spieltag drin sein.

    Ich möchte jetzt auf einer Seite alle Spieltage anzeigen lassen.
    Ich mach das momentan so:

    PHP-Code:
    include "connect.inc.php";
    $result mysql_query("SELECT * FROM tus3_spiele WHERE spieltag <= '15' Order by spieltag");
             
    $spieltage mysql_num_rows($result);

             echo
    "<h2>Hinrunde</h2>";

             for (
    $i=0$i<$spieltage$i++)
             {
                     
    $spieltag mysql_result($result$i"spieltag");
                     
    $datum mysql_result($result$i"datum");

                     echo
    "<table border='1' bordercolor='#000000' width='90%'>";
                     echo
    "<tr>";
                     echo
    "<td colspan='3'><div align='center'><b>$spieltag. Spieltag ($datum)</b></div></td>";
                     echo
    "</tr>";

              
    $result2 mysql_query("SELECT * FROM tus3_spiele WHERE spieltag=$i ORDER BY spiel");
              
    $spiele mysql_num_rows($result2);
              for (
    $j=0$j<$spiele$j++)
                     {
                     
    $heim mysql_result($result2$j"heim");
                     
    $gast mysql_result($result2$j"gast");
                     
    $toreh mysql_result($result2$j"toreh");
                     
    $toreg mysql_result($result2$j"toreg");

                     echo
    "<tr>";
                     echo
    "<td width='40%'><div align='center'>$heim</div></td>";
                     echo
    "<td width='10%'><div align='center'>$toreh : $toreg</div></td>";
                     echo
    "<td width='40%'><div align='center'>$gast</div></td>";
                     echo
    "</tr>";
                     }
                  echo
    "</table>";
                  echo
    "<br>";
              } 
    Leider geht es so nicht da er den Spieltag + das Datum so häufig hinschreibt wie es spiele gibt was mir nach dem code auch logisch
    erscheint.

    Ich krieg mein Gehirn aber nicht in die richtung wie es funktionieren könnte.

    Wenn jemand ne Idee hat wäre ich echt dankbar.

    Gruß RedSun

  • #2
    *** EDIT ***
    argl, seh gerade, du hattest ein anderes problem.
    dann kannst du geschreibsel unten ignorieren *grmpf*

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


    hm, ich hatte das gleiche problem (saisonale ansicht *g*).
    habe das - wie ich finde - ziemlich laienhaft gelöst... *hüstel*
    kommt mir nicht schön vor, funktioniert aber.
    wenn jemand eine bessere lösung hat, dann immer her damit

    ich hab ganz einfach eine for-schleife genommen, um jeden spieltag einzeln auszulesen, und in einer tabelle ausgeben zu lassen.

    also sowas wie

    PHP-Code:
    for ($spieltag=1$spieltag<$35$spieltag++)
     {
        
    // hier die resulatate abfragen
       
    $res mysql_db_query($dbname"SELECT * FROM paarungen WHERE spieltag = '$spieltag'");

       
    // und dann halt ausgeben
       
    echo "ergebnisse";
     } 
    wollte es erst mit while machen, hat aber nicht so hingehauen, also hab ich mir keine weitere mühe gegeben und das mit for gemacht
    Zuletzt geändert von sp00n; 10.08.2004, 19:26.

    Kommentar


    • #3
      Hehe trozdem Danke

      Kommentar


      • #4
        ok, mach mal ein
        GROUP BY spieltag
        vor dein Order by.

        also so:
        PHP-Code:
        $result mysql_query("SELECT * FROM paarungen
                               WHERE spieltag <= '15'
                               GROUP BY spieltag
                               ORDER BY spieltag
                               "
        ); 
        bei mir hat das dann funktioniert
        (hab ne ziemlich ähnliche datenbankstruktur)

        Kommentar


        • #5
          Vielen Vielen Dank damit komm ich schonmal weiter funzt zwar
          noch nicht so ganz wie ich das will aber teilweise geht das schon

          Danke nochmal

          Kommentar


          • #6
            vielleicht solltet ihr euch beide mal mit dem begriff "gruppenwechsel" vertraut machen (forumsuche) ... mysql_result() vergessen, stattdessen mit mysql_fetch_array/row arbeiten ... kein * in der query verwenden ... und queries in schleifen gleich ganz vermeiden ... usw.
            Kissolino.com

            Kommentar


            • #7
              Original geschrieben von Wurzel
              vielleicht solltet ihr euch beide mal mit dem begriff "gruppenwechsel" vertraut machen (forumsuche) ... mysql_result() vergessen, stattdessen mit mysql_fetch_array/row arbeiten ... kein * in der query verwenden ... und queries in schleifen gleich ganz vermeiden ... usw.
              he, danke für die anregung, gruppenwechsel war mir bisher unbekannt, werd ich mir mal zu gemühte führen
              mit mysql_fetch_array arbeite ich inzwischen, allerdings noch nicht als ich dieses ding geschrieben hab. das musste relativ schnell gehen, da die seite noch vor dem buli-start fertig werden musste. hab ich dann auch geschafft, zwei tage vorher
              und das * im query ist in meinem fall durchaus nicht die schlechteste wahl, da ich sowieso alle spalten aus der tabelle brauche.

              bisher konnte ich mich nicht durchringen, das teil nochmal neu zu schreiben, weil ich grade noch an anderen problemen hänge (siehe anderer thread *hinthinthint*)...


              @ RedSun
              als ich das schnell ausprobiert hatte, wurd der erste spieltag bei mir nicht angzeit, hing/hängt es daran?

              Kommentar


              • #8
                Weiß nicht so genau momentan gibt er alle spieltage von vorne bis hinten aus.
                Ich hab aber noch zwei wochen zeit deswegen werde ich mir die oben genannten sachen mal zu gemüte führen.

                Danke nochmals

                Kommentar

                Lädt...
                X