2Danke
ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
361
361
EMPFEHLEN
-
Hallo
an dieser Stelle nochmal ein dickes Dankeschön an alle die mir bisher sehr geholfen haben.
Leider ist nun wieder ein Fehler / Problem aufgetaucht an dem ich nicht weiterkomme.
Wie vieleicht schon bekannt arbeite ich an einem Fussballtipp Spiel,
bei dem folgenden Script soll das Ergebniss eigentlich eine Tabelle sein die folgende Informationen enthält:
Partien des gewählten Spieltages, Ergebnis der Partien und Tipps aller Spieler zu den Partien.
So weit geht es auch, nur zeigt er mir leider nur die erste Partie an, mit den gewünschten Zusatzinformationen.
Wäre schön wenn mir jemand den Fehler zeigen könnte, oder mir einen Tipp zur Fehlerfindung benennt.
Herzlichen DankPHP-Code:<table style="font-size: smaller;"><tr><td width="150">Partie</td><td width="80">Ergebnis</td>
<?php
include ('config.php');
error_reporting(E_ALL);
$db_link = @mysql_connect($dbhost, $dbusername, $dbpasswort);
mysql_select_db($dbname);
$sql = "SELECT
*
FROM
".$tabpartien." AS partien,
".$tabtipps." AS tipps
WHERE
partien.spieltag = '12'
AND
tipps.spieltag = '12'
AND
partien.ID_partien = tipps.ID_partien
GROUP by
tipps.k_spieler
ORDER by
tipps.ID_tipp DESC";
/**
* ALLE AKTUELLEN SPIELER AUFLISTEN
*/
$result = mysql_query($sql);
while ($spiel = mysql_fetch_object($result)){
echo "<td width='80'>".$spiel->k_spieler."'s Tipp</td>";
}
echo "</tr>";
/**
* SPIEL PLUS ERGEBNIS AUSLESEN
*/
$result = mysql_query($sql);
while ($spiel = mysql_fetch_object($result)){
echo "<tr><td>".$spiel->HT." / <br/>".$spiel->GT."</td><td>".$spiel->t_HT.":".$spiel->t_GT."</td>";
/**
* DIE TIPPS ZUM SPIEL AUSGEBEN
*/
$result = mysql_query($sql);
while ($spiel = mysql_fetch_object($result)){
echo "<td>".$spiel->tore_HT.":".$spiel->tore_GT."</td>";
}}
$result = mysql_query($sql) OR
die("Query: <pre>".$sql."</pre>\n".
"Fehler: ".mysql_error());
?>
</tr></table>Mit freundlichem Gruß
Xiaodeguo
-
02.02.12 13:06 #2
Wenn man ein MySQL-Ergebnis mehrmals durchgehen will, muß es idR resetet werden.
http://php.net/manual/de/function.mysql-data-seek.phpCode :1
mysql_data_seek($MySQL_Result, 0);
Bei Dir also das erste
lassen und in den verschachtelten Schleifen jenes durchPHP-Code:$result = mysql_query($sql);
ersetzen.PHP-Code:mysql_data_seek($result, 0);
An Deiner Stelle würd ich vielleicht überlegen, das Result erstmal in ein Array/Objekt zu überführen, und dann jenes Gerüst wie von Dir angedacht zu durchlaufen.
mfg chmeeGeändert von chmee (02.02.12 um 13:08 Uhr)
Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
Danke für deine schnelle Antwort,
ich habe die Änderungen vorgenommen. Leider bleibt das Ergebnis das selbe.
Du schreibst ich soll die Daten erst in ein Object / Array übertragen, tue ich das nicht in jeder schleife?
Wie gesagt die Problematik ist wie gesagt das er mir nur für die erste Partie alles richtig ausgibt, dann Schleife wohl aufhört. Wenn ich nun Abfrage wieviele Reihen und Felder im Result sind, gibt er mir 3 Reihen und 19 Felder aus. Die 19 ist richtig, bei den reihen müsste es aber 27 sein.PHP-Code:$result = mysql_query($sql);
while ($spiel = mysql_fetch_object($result)){
Kann es sein das die Problematik bei "Group by k_spieler" liegt ?
Nehme ich das weg, gibt er mir alle Tipps raus, aber nicht unter einem Spieler sortiert sondern nebeneinander weg, siehe Anhang.
Naja wie gesagt aktuell habe ich keine Idee, belese mich mal weiter, iwie werde ich/wir schon eine Lösung finden. Danke euchMit freundlichem Gruß
Xiaodeguo
-
Hallo Leute,
ich komme leider wirklich nicht weiter. Egal was ich mit meinen kleinen Wissen versuche,
es geht nicht. Nun hoffe ich das mir vieleicht doch noch einer von euch helfen kann. Dafür möchte ich euch gerne folgende Informationen liefern:
Ich greife auf zwei Tabellen zu: $tabtipps und $tabpartien
$tabtipps: hier werden alle Tipps der Spieler zu den einzelnen Partien gespeichert.
Wichtig für diesen Fall sind folgende Spalten:
1. ID_partien = entspricht der Partie ID in der $tabpartien Tabelle
2. spieltag = Anwelchem Spieltag findet die Partiestatt, wird hier gespeichert
3. k_spieler = ist der Benutzername des Spielers der den Tipp abgegeben hat
4. tore_HT = Die Anzahl der Tore die laut Tipp des Spielers das Heimteam schießt
5. tore_GT = Die Anzahl der Tore die laut Tipp des Spielers das Gastteam schießt
$tabpartien: hier werden alle Partien der einzelnen Spieltag gespeichert.
Wichtig für diesen Fall sind folgende Spalten:
1. ID_partien = ID der partien findet man auch in $tabtipps wieder
2. spieltag = entspricht auch der Angabe in $tabtipps
3. HT = Heimteam
4. GT = Gastteam
5. t_HT = Tore Heimteam (Ergebnis)
6. t_GT = Tore Gastteam (Ergebnis)
So mit all diesen Daten wünsche ich mir nun das eine Tabelle ausgegeben wird, in der folgende Daten enthalten sind:
Spieler/Partien Spiel 1 Spiel 2 Spiel 3 Spiel 4 Spiel 5 Spiel 6 Spiel 7 Spiel 8 Spiel 9 Spieler 1 Tipp 1 Tipp 2 Tipp 3 Tipp 4 Tipp 5 Tipp 6 Tipp 7 Tipp 8 Tipp 9 Spieler 2 Tipp 1 Tipp 2 Tipp 3 Tipp 4 Tipp 5 Tipp 6 Tipp 7 Tipp 8 Tipp 9 Spieler 3 Tipp 1 Tipp 2 Tipp 3 Tipp 4 Tipp 5 Tipp 6 Tipp 7 Tipp 8 Tipp 9
Die Auswahl des entsprechenden Spieltages erfolgt über ein Formular mit Dropdownauswahl (Man mag es nicht glauben, aber das kann ich schreiben), dann wird für alle Spieler die Tipps abgegeben haben die oben gezeigte Tabelle erstellt.
Also an dieser Stelle nochmal die ganz große Bitte um Hilfe.
Danke.Mit freundlichem Gruß
Xiaodeguo
-
item: Sind $tabtipps und $tabpartien Arrays? Oder sind da Tabellen in einer MySQL-DB?
item: Geh ich richtig, dass pro Spieltag 9 Einträge in $tabparteien enthalten sind? (Spiel 1 bis Spiel 9)---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Danke Yaslaw für deine Antwort.
$tabtipps und $tabpartien sind Tabellen in der MySQL Datenbank und
ja das ist richtig, pro Spieltag sind 9 Begegnungen in der $tabpartien eingetragen.Mit freundlichem Gruß
Xiaodeguo
-
Relativ einfach. Du brauchst nur tabtipps.
Filtern -> auslesen -> in eine sinnvolle Arraystruktur bringen -> und ausgeben
PHP-Code:$spieltag = 1;
//Aslsesen
$sql = "SELECT * FROM tabtipps WHERE spieltag = {$spieltag}";
$result = mysql_query($sql);
while($tipp = mysql_fetch_assoc($result)){
$tipps[$tipp['k_spieler']][$tipp['ID_partien']] = "{$tipp['tore_HT']}/{$tipp['tore_GT']}";
}
//und ausgeben
echo '<table>';
foreach($tipps as $spieler => $spielerTipps){
echo '<tr>';
echo "<td>{$spieler}</td>";
foreach($spielerTipps as $partie => $tore){
echo "<td>{$tore}</td>";
}
echo '</tr>';
}
echo '</table>';
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Hallo Yaslaw,
wie kann ich dir danken? War ja nicht das erste Mal das du mir aus der Patsche geholfen hast.
Klappt wunderbar (mit einigen Anpassungen).
Frage: Kannst du mir irgendwelche guten Lektüren empfehlen, das ich dich in Zukunft nicht immer beschäftigen muss?Mit freundlichem Gruß
Xiaodeguo
Ähnliche Themen
-
while-schleife mit Limit fortlaufende Ergebnisse ausgeben
Von florifliegt1 im Forum PHPAntworten: 6Letzter Beitrag: 18.10.10, 14:32 -
for-Schleife gibt nur letzteh Durchlauf aus
Von DrBonsai im Forum PHPAntworten: 2Letzter Beitrag: 15.04.10, 15:19 -
foreach Schleife Fehlersuche
Von rollerueckwaerts im Forum PHPAntworten: 2Letzter Beitrag: 07.11.08, 00:16 -
Ergebnisse aus Schleife in Variable schieben und mit mail() abschicken
Von son gohan im Forum PHPAntworten: 5Letzter Beitrag: 05.04.06, 14:22 -
Ergebnisse nebeneinander statt untereinander
Von bunitz im Forum PHPAntworten: 2Letzter Beitrag: 22.07.05, 12:56





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren