WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Tabelle erstellen?

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Tabelle erstellen? - 23 Nov 2024 Antworten
Tabelle erstellen?
FrediL
Fachidiot
Threadstarter




Beiträge: 101

ok, macht nix. wäre nett, wenn du mir mal bei gelegenheit den generellen aufbau erklärst. sprich die schritte die ich machen muss, damit die fertige tabelle rauskommt. scripten will ich nämlich selber!!!

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

also wenn du was absolut kompetentes haben willst solltest du dich besser an Philipp oder so wenden. Die sidn da etwas besser informiert als ich ;)

  Profil   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

Hab das ganze nur überflogen.

Du willst also eine Tabelle erstellen, in der das Ligaranking angezeigt wird, welches sich aus der Punktezahl und - sofern diese gleich ist - aus der Tordifferenz ergibt. Wie in der Bundesliga also. Kein Problem, aber schon eins mit deiner Tabelle

Bau dir eine Tabelle in der du die Clubs speicherst

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
CREATE TABLE `foo_clubs` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL default '',
  `stadt` varchar(255) NOT NULL default '',
  `kontakt` varchar(255) NOT NULL default '',
  `foo` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


Sowie eine, in der du die Spiele speicherst:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11:
CREATE TABLE `foo_spiele` (
  `id` int(11) NOT NULL auto_increment,
  `spieltag` int(11) NOT NULL default '0',
  `spieler` int(11) NOT NULL default '0',
  `gegner` int(11) NOT NULL default '0',
  `ort` int(11) NOT NULL default '0',
  `ergebnis` int(3) NOT NULL default '0',
  `tore_s` int(11) NOT NULL default '0',
  `tore_g` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


Die erste muss ich wohl nicht erklären, die zweite wohl schon

"spieler" ist die ID des Clubs aus der ersten Tabelle.
"spieltag" ist der Spieltag.
"gegner" die ID des anderen Clubs aus der ersten TB.
"ort" ist die ID des Clubs, bei dem gezockt wird.
"ergebnis" ist entweder 1 (Sieg spieler), 2 (Unentschieden) oder 3 (Sieg Gegner). Daraus kannst du bequem die Punkte berechnen.
"tore_s" und "tore_g" sind entsprechend die Toranzahl in diesem Spiel für die jew. ID. Daraus kannst du die Tordifferenz errechnen.

Aus diesen beiden Tabellen baust du dir dann eine Ergebnistabelle. Zudem könntest du zusätzlich zu jedem Spiel eine Statistik anbieten und Grafiken erstellen, die Dokumentieren, wie viele Punkte/Tore/Gegentore jede Manschaft an welchem Tag hatte.

Viel Erfolg!

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
FrediL
Fachidiot
Threadstarter




Beiträge: 101

ok, dass klingt ja ganz nett und stimmt sogar fast mit dem überein, was ich so gebastelt habe.
da bleiben aber immer noch ein paar fragen :-/

für was steht das "foo" in tabelle 1 und was soll in diese spalte foo eingetragen werden?

ist der ort nicht unnötig in tabelle 2, da autom. bei der heimmannschaft (spieler) gespielt wird?

wie berechne ich denn aus diesen angaben die tabelle? -> ich meine ich rechne die punkte zusammen, ok. aber wie sortiere ich das ganze dann? und muss ich um die punkte zu berechnen für jede mannschaft eine datenbankabfrage starten, oder geht das einfacher?

vielen dank

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

a) foo ist nur ein platzhalter - vielleicht brauchste mehr felder usw.
b) stimmt, kannst du weglassen.

1:
SUM(punkte)


---
Arbeit ist das Feuer der Gestaltung. - Marx

Diese Nachricht wurde geändert von: Philipp Gérard
  Profil   E-Mail   Website   Editieren   Zitieren
FrediL
Fachidiot
Threadstarter




Beiträge: 101

könntest du mir b) noch ein bisschen genauer erklären?

wenn ich das richtig verstehe, dann baue ich für jede mannschaft eine datenbankverbindung auf (geht das nicht einfacher?) und lese die punkte für diese mannschaft aus. diese summiere ich dann. somit habe ich die punkte, die jede mannschaft bislang erspielt hat. nur wie sortiere ich dann?

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
FrediL
Fachidiot
Threadstarter




Beiträge: 101

ah, die db-anfragen für jede mannschaft erübrigen sich dank dem sum(). ok, das habe ich jetzt kapiert. aber wie sortiere ich?

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
FrediL
Fachidiot
Threadstarter




Beiträge: 101

ach, ich glaube ich versteh immer mehr (hoffe ich zumindest) -> da das ja alles in einer sql-abfrage erledigt wird, könnte ich ja die daten direkt per order by punkte ausgeben?!?!

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
FrediL
Fachidiot
Threadstarter




Beiträge: 101

zu früh gefreut! das funktioniert leider nicht! verstehe jetzt auch nicht mehr so ganz, wie das gehen soll.

ich soll mit sum(punkte) die punkte addieren. nur diese stehen doch garnicht in der db.
wie soll ich das jetzt machen?

---
ergebniswelt.com -> Fußballergebnisse und mehr

  Profil   Website   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

Also:

1. Du musst die Punkte für jede Mannschaft ausrechnen, um sie dann danach zu sortieren.

1: 
2: 
3: 
4: 
5: 
6:
$result = mysql_query("SELECT count(*) FROM $tbl WHERE ergebnis = '1' AND spieler = 'x');
$count  = mysql_result($result,0,0);
$result = mysql_query("SELECT count(*) FROM $tbl WHERE ergebnis = '2' AND spieler = 'x');
$count2  = mysql_result($result,0,0);

$punkte = ($count * 3) + $count2;


das gibt dir alle gewonnenen spiele von manschaft x. Das Ergebnis $count * 3 + noch so ein Query für die unentschiedenen * 1 (oder gar nicht * ) sind die Punkte. Das Biest in eine Schleife für alle Manschaften und schon hast du alle Punkte. Die würde ich jetzt am besten in eine Tabelle schreiben, die die ManschaftsID und die Punkte & Tore/Gegentore speichert. Dann kannst du es mit ORDER BY punkte, tore am leichtesten sortieren.

edit: das ist zwar aufwendig, funktioniert aber. intelligentere lösungen? mags geben, aber nicht um 23:00

---
Arbeit ist das Feuer der Gestaltung. - Marx

Diese Nachricht wurde geändert von: Philipp Gérard
  Profil   E-Mail   Website   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » Tabelle erstellen?

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Tabelle erstellen? im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8127851    Heute : 246     Gestern : 761     Online : 138     23.11.2024    10:28      0 Besucher in den letzten 60 Sekunden        
Nach oben