Filtern per Link

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

  • Filtern per Link

    Hi...

    hab folgende Struktur in einer Tabelle in DB

    Code:
    CREATE TABLE ergebnisse (
      erg_id int(11) unsigned NOT NULL auto_increment,
      sp_tag tinyint(11) default NULL,
      datum datetime default NULL,
      gruppe varchar(50) default NULL,
      nummer int(11) default NULL,
      heim varchar(50) default NULL,
      gast varchar(50) default NULL,
      h_score int(11) NOT NULL default '0',
      g_score int(11) NOT NULL default '0',
      ort varchar(50) default NULL,
      details text NOT NULL,
      PRIMARY KEY  (erg_id)
    ) TYPE=MyISAM;
    hab jetzt eine Übersichtsseite programmiert, auf der man alle Einträge angezeigt bekommt.
    wie kann ich jetzt zum Beispiel per Link filtern?

    z.B. möchte ich jetzt nur noch die Ergebnisse der "Herren TCF" bei heim oder bei gast ausgegeben haben!

    oder alle Spiele des ersten Spieltages?

    Wie kann ich sowas bei einem Link einbringen?

  • #2
    da wirst du wohl irgendwas mit POST-Variabeln machen müssen und deren Inhalt dann entsprechend in der where-klausel unterbringen
    oder ne extra datei für jede bedingung, wobei das wohl umständlicher wäre.

    spieltag tinyint(11) ??????
    Zuletzt geändert von graf; 19.03.2003, 22:58.

    Kommentar


    • #3
      ... das mit tinyint....

      is so ne Sache... ich wusste eben nciht wie was warum....

      was könnte ich, bzw. sollte ich hier nehmen?

      noch weitere Verbesserungen bei der Struktur?

      Kommentar


      • #4
        Code:
        SELECT * FROM ergebnisse WHERE heim = 'Herren TCF' OR gast = 'Herren TCF'
        davon abgesehen würde ich mal deine tabelle neu überdenken.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          tinyint is glaub ich max. 255

          und der link irgendwas in der art
          Code:
          <a href="....?spalte=abc&vergleichswert=xyz">alle abc am xyz</a>
          
          und dann eben wie gesagt ...
          
          SELECT * FROM ergebnisse WHERE abc= xyz
          aber wie Abraxax sagte, mit der struktur wird es ziemlich ... naja aufwendig

          heim
          gast
          kann doch zusammen !? is doch nur ein kennzeichen !?

          h_score und g_score kann man dann abhängig von "heim oder gast" auswerten

          Kommentar


          • #6
            also.... heim und gast : dort werden jeweils die Mannschaften eingetragen!

            ... zum Überdenken ... hab ich mir auch schon überlegt

            ich werde es jetzt so machen!

            werde 2 Tabellen nehmen! eine mit den Mannschaftsnamen und die 2te so mit den Ergebnissen!

            besser so?

            Kommentar


            • #7
              Original geschrieben von Mistert77
              besser so?
              schon mal ein sehr guter anfang...

              das hier könnte dir auch helfen.
              http://www.php-resource.de/forum/sho...threadid=14759

              ist zwar relativ viel zu lesen, aber schon sooooo viel drin, dass du das rad nicht neu erfinden müsstest. ausserdem kannst du davon noch was lernen, wie man tabellen aufbaut.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                naja, ne 2.te tabelle bringt speichermäßig was, und du musst dann drauf achten dass du keine daten in der mannschaftstabelle änderst, weil du dann auch historische daten änderst

                aber wenn das so is, fällt mir sponatn auch nichts zur vereinfachung der tabelle ein (auf die spalteneigenschaften hab ich aber nich geschaut)

                ich würds dann irgdnwie so machen ....

                <a href ... ?spalte=mannschaft&wert=Herren TCf> ... </a>

                oder <a href= ... ?spalte=spieltag&wert=heute> ... </a>

                und dann auswerten:
                wenn "spalte" = mannschaft
                mein teilquery = "where heim=mannschaft or gast=mannschaft

                wenn "spalte" = spieltag
                mein teilquery = "where spieltag=heute"

                Kommentar


                • #9
                  ok danke erstmal @all...

                  ncoh was wie kann ich jetzt per SELECT alle Spiele der letzten Woche anzeigen?

                  Kommentar


                  • #10
                    spiele in den letzten 7 Tage:
                    Code:
                    select x,y,z from ergebnisse where datum>(DATE_SUB(NOW(), INTERVAL 7 DAY))
                    letzte Kalenderwoche:
                    Code:
                    select x,y,z from ergebnisse where DATE_FORMAT(datum, "%u") = (DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 7 DAY), "%u"))
                    *flakfeuer in bagdad*
                    Zuletzt geändert von graf; 20.03.2003, 02:42.

                    Kommentar


                    • #11
                      cool danke!

                      ok noch ein prob...

                      ich mach jetzt ne Auflistung so:

                      PHP-Code:
                      $sql "SELECT x,y,z FROM $table WHERE team='$team' ORDER BY sp_tag ASC"
                      $result mysql_query($sql) or die("Fehler bei $sql"); 
                      echo
                      "<table>";
                      while (list 
                      $x,$y,$z) = mysql_fetch_row($result)) {
                      echo
                      "
                      <tr>
                      <td>
                      $x</td>
                      <td>
                      $y</td>"
                      so nun möchte ich aber $z nicht einfach ausgeben sondern erst überprüfen ob es da was gibt.

                      mach ich das nciht so:?

                      PHP-Code:
                      if (!isset($z)) {echo"&nbsp;";}
                          else {echo
                      "<a href=details.php?id=$id>...mehr</a>";} 

                      Kommentar


                      • #12
                        PHP-Code:
                        empty 
                        * die grenzen dieses forums wurden überschritten *
                        Zuletzt geändert von graf; 20.03.2003, 13:36.

                        Kommentar


                        • #13
                          hä??

                          Kommentar


                          • #14
                            wenn in dem feld in der db nichts steht, dann ist:
                            !isset($x) = false
                            es ist ja gesetzt, lediglich mit einem leeren string, oder ähnlichem

                            hingegen ist:
                            empty($x) = true

                            Kommentar


                            • #15
                              ich habe eine Tabelle in ner DB mit Datum.

                              Es gibt darin mehrere Datumsangaben die gleich sind.

                              Wie bekomme ich die Daten eingelesen in ein "select"
                              aber alle Datumsangaben nur einmal?

                              Code:
                              <select name=datum>
                                                    <option selected>Datum ausw&auml;hlen</option>
                                                    <option value="xx">xx</option>
                                                    etc...
                              </select>

                              Kommentar

                              Lädt...
                              X