[PHP + MySQL] Tabelle zeilenweise auslesen

Energy_Master

Lt. Commander
Registriert
Feb. 2003
Beiträge
2.029
Hallo,

hab für meinen Verein ne Website gemacht. Hab nun ein Script programmiert, welches Daten in eine Datenbank schreibt. Wie kann ich diese zeilenweise auslesen?
Ich hab die Tabelle so aufgebaut: MANNSCHAFT - GEGNER - ERGEBNIS

Hoffe ihr könnt mir da helfen.
 
das ist nun wirklich nicht schwer...

PHP:
$select = mysql_query("SELECT * FROM tabelle");

while( $show = mysql_fetch_array($select)) {
echo("$show[mannschaft] $show[gegner] $show[ergebnis] <br>");

}
 
Danke für den Tipp. Stimmt is nich schwer. Hab nur PHP nie richtig gelernt und bring mir das jetzt selber bissl bei und darum muss man erstmal wissen, was alles geht!
 
Noch ein kleines Problem:

Und zwar haben wir mehrere Mannschaften, und da wollte ich gern die entsprechenden Werte aus der Datenbank in eine Tabele gepresst werden. tabelle mit 3 Spalten (Mannschaft, Gegner, Ergebnis). Hab das versucht, aber nicht geschafft, da ich den echo-Teil "zerreisen" musste und dann die Anzeige nich mehr klappt. Bitte helft mir da noch bissl...

Soweit erstma.
Karma geht an kamuffeL. Wenn mir noch jemand hilft, gibts noch mehr Karma!
 
was ist denn 'entsprchend'? die mannschaften gruppiert? oder nur eine mannschaft?
 
Naja, wir haben drei Männermannschaften, ne Frauenmannschaft, und Jugend mannschaften.
Da soll dann immer die jeweilige Mannschaft in einer Spalte, dahinter der gegner in der jeweiligen Spalte und das Ergebnis aus dem Spiel in der jeweilgen Spalte angezeigt werden.
 
dann such alles raus und lass es nacheinander in einer tabellenzeile ausgeben.
 
@ Energy_Master, man sollte nicht SELECT * benutzen, sondern lieber SELECT Mannschaft, Gegner usw. Das soll angeblich schneller sein. :p
 
Energy_Master schrieb:
Naja, wir haben drei Männermannschaften, ne Frauenmannschaft, und Jugend mannschaften.
Da soll dann immer die jeweilige Mannschaft in einer Spalte, dahinter der gegner in der jeweiligen Spalte und das Ergebnis aus dem Spiel in der jeweilgen Spalte angezeigt werden.
Dann leg z.B. in der Tabelle noch die Info an um welche Mannschaft es sich handelt.
Das Auslesen machst Du dann einfach dreimal:

select mannschaftsname, gegner, ergebnis from tabelle where mannschaftsart = 1;
Ausgeben...
select mannschaftsname, gegner, ergebnis from tabelle where mannschaftsart = 2;
Ausgeben...
select mannschaftsname, gegner, ergebnis from tabelle where mannschaftsart = 3;
Ausgeben...
usw..

Mannschaftsname könntest Du Dir ggfs. auch sparen und diese jeweils direkt in die entsprechende Ausgabezeile schreiben.
 
Das würd ich gerne machen, unur weis ich nich, wie ich das mit der tabelle mache, da ich die Abfrage nich richtig rein bekomme. Kann mir da BITTE jemand ein kleines Script machen, wo die Tabelle mit den 3 Spalten und der jeweiligen Datenbankabfrage drin ist? Wäre wirklich super! Ich pack das nicht, dass auf die einzelnen Spalten auf zu teilen.
 
Energy_Master schrieb:
Das würd ich gerne machen, unur weis ich nich, wie ich das mit der tabelle mache, da ich die Abfrage nich richtig rein bekomme. Kann mir da BITTE jemand ein kleines Script machen, wo die Tabelle mit den 3 Spalten und der jeweiligen Datenbankabfrage drin ist? Wäre wirklich super! Ich pack das nicht, dass auf die einzelnen Spalten auf zu teilen.

Die Tabelle kannst Du z.B. so gestalten:

CREATE TABLE myTable (
id tinyint(6) NOT NULL auto_increment,
teamid tinyint(4) NOT NULL default '0',
gegner varchar(40) NOT NULL default '',
ergebnis varchar(5) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;

id ist eine laufende Nummer als Primary Key, die einfach bei jedem Insert hochgezählt wird.

teamid ist die Nummer eines Teams:
z.B. 0 = 1. Herren, 1 = 2. Herren, 2 = Damen, 3 Jugend A usw.

Alternativ kannst Du natürlich auch einen varchar nehmen, der braucht
halt für jeden Eintrag mehr Platz in der Datenbank.

Auslesen:

Am besten schreibst Du eine Funktion, welche $teamid als Parameter bekommt und dann die Tabelle ausliest und die Daten ins HTML schreibt.


function auslesen($teamid) {
// so oder so ähnlich sollte das SQL aussehen:
$sql = "SELECT `gegner`, `ergebnis` from FROM `myTable` WHERE teamid=".$teamid;";
// SQL ausführen und Datensätze ausgeben
}
 
Vielen Dank erstmal. Werd das mal probieren, wenn ich Zeit hab (wahrscheilich nich vor dem WE).
 
PHP:
$select = mysql_query("SELECT Mannschaft,Gegner,Ergebniss FROM tabelle order by Mannschaft"); 

while( $show = mysql_fetch_array($select)) { 
echo("$show[mannschaft] $show[gegner] $show[ergebnis] <br>"); 

}
was spricht hier gegen?
 
Das is ja an sich super, nur würde ich die Ausgelesenen Werte für Mannschaft, Gegner und Ergebnis gern in einer Tabelle anzeigen, nach diesem Code steht ja nur der text nebeneinander.
 
Energy_Master schrieb:
Das is ja an sich super, nur würde ich die Ausgelesenen Werte für Mannschaft, Gegner und Ergebnis gern in einer Tabelle anzeigen, nach diesem Code steht ja nur der text nebeneinander.
Dann halt die Funktion mit <table> umschliessen und die einzelnen Werte noch mit <tr> und <td> verpacken.
 
Toecutter schrieb:
Dann halt die Funktion mit <table> umschliessen und die einzelnen Werte noch mit <tr> und <td> verpacken.
Ich bin mal so frei und schreibe das für ihn aus:
PHP:
 $select = mysql_query("SELECT Mannschaft,Gegner,Ergebniss FROM tabelle order by Mannschaft");

echo("<table border=\"1\">");

while( $show = mysql_fetch_array($select)) {
echo("<tr>");
echo("<td>$show[mannschaft]</td><td>$show[gegner]</td><td>$show[ergebnis]</td>");
echo("</tr>");

}
echo("</table>");
Natürlich kannst/solltest du den table-tag noch anpassen, was breite usw. angeht.
 
OK, wunderbar. Vielen Dank. Werde das mal testen. Karma ist schon verteilt. Falls ich nochFragen hab meld ich mich noch mal.
 
Zurück
Oben