MySQL Ergebnisse nicht vollständig
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
anfang
ausgegeben abfrage
bayer
code
ergebnis
fehler
frage
gastmannschaft
heimmannschaft
letzten verein
minute
null
schleife
spiel
spieltag
trainer
url
verein
zeile
-
Hallo,
ich habe nochmal ein Problem . Es geht um diesen Code:
//Verein wird ausgegeben// $abfrage = "SELECT Verein FROM tabelle_de1 WHERE Trainer = '".$userdata["user_name"]."'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $verein = "$row->Verein"; } //Spiele werden ausgegeben// ?><table><? $abfrage = "SELECT Spieltag, Heimmannschaft, Gastmannschaft, Heimtore, Gasttore FROM spiele_de1 WHERE (Heimmannschaft='".$verein."' OR Gastmannschaft='".$verein."') AND Eingetragen='0' AND Spieltag >= '".$minliga."' AND Spieltag <= '".$maxliga."'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) {?> <tr> <th>Spieltag</th> <th>Heimmannschaft</th> <th></th> <th>Gastmannschaft</th> </tr> <tr> <td><?echo $row->Spieltag;?></td> <td><?echo $row->Heimmannschaft;?></td> <td>:</td> <td><?echo $row->Gastmannschaft;?></td> <td> <form action="<? echo $action;?>" method="post"> <input type="hidden" name="heim" value="<?echo $row->Heimmannschaft;?>"> <input type="hidden" name="heim" value="<?echo $row->Gastmannschaft;?>"> <input type="submit" name="submit1" value="Fordern"> </form> </td> </tr> <br><? }?> </table>
Wenn ich den folgenden Query in PHPMyAdmin eingebe bekomme ich das vollständige Ergebnis, also die Spiele der Spieltage 1-14:
SELECT Spieltag, Heimmannschaft, Gastmannschaft, Heimtore, Gasttore FROM spiele_de1 WHERE (Heimmannschaft='FC Bayern Muenchen' OR Gastmannschaft='FC Bayern Muenchen') AND Eingetragen='0' AND Spieltag >= 1 AND Spieltag <= 14
Allerdings bekomme ich in meinem Script nur die Spieltage 1, 10, 11, 12, 13, 14. Die Variablen $minliga und $maxliga sind gesetzt und haben auch den Inhalt 1 bzw. 14. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
fifa-society schrieb:
diese passage gibt sinfreier weise nur den letzten verein aus! ich frage mich seit minuten warum :) was bezweckst hier eigentlich? oder aber gibt es pro trainer ohnehin nur einen verein!? dann reicht es wenn du schreibst//Verein wird ausgegeben// $abfrage = "SELECT Verein FROM tabelle_de1 WHERE Trainer = '".$userdata["user_name"]."'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $verein = "$row->Verein"; }
$verein = mysql_fetch_object($ergebnis)
also ohne while schleife.
sonderbar finde ich außerdem, dass du vor jeder zeile einen <th> brauchst. wieso?
//Spiele werden ausgegeben// ?><table><? $abfrage = "SELECT Spieltag, Heimmannschaft, Gastmannschaft, Heimtore, Gasttore FROM spiele_de1 WHERE (Heimmannschaft='".$verein."' OR Gastmannschaft='".$verein."') AND Eingetragen='0' AND Spieltag >= '".$minliga."' AND Spieltag <= '".$maxliga."'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) {?> <tr> <th>Spieltag</th> <th>Heimmannschaft</th> <th></th> <th>Gastmannschaft</th> </tr> <tr> <td><?echo $row->Spieltag;?></td> <td><?echo $row->Heimmannschaft;?></td> <td>:</td> <td><?echo $row->Gastmannschaft;?></td> <td> <form action="<? echo $action;?>" method="post"> <input type="hidden" name="heim" value="<?echo $row->Heimmannschaft;?>"> <input type="hidden" name="heim" value="<?echo $row->Gastmannschaft;?>"> <input type="submit" name="submit1" value="Fordern"> </form> </td> </tr>...
nach dem ersten ansehen würde ich dir raten, das hir mal ausprobieren:<?php // czibere.lima-city.de/_forum/fifa-society/mysql-ergebnisse-nicht-vollstaendig.php error_reporting(E_ALL | ESTRICT); // ---- hier dein code rein ---------------------------------------------------- // ---- vom anfang was fehlt --------------------------------------------------- // ---- pseudodata (wegen error, notice, warning) ------------------------------ $userdata = null; // ---- diese und die vorigen 2 zeilen löschen! -------------------------------- // ---- db connect ------------------------------------------------------------- $conn = ($s = mysql_connect('mysql.lima-city.de', 'USERxxxxxx', '????')) ? $s: sql_err('-', __LINE__); // ---- charset for mysql ------------------------------------------------------ (mysql_query("SET character_set_results='utf8', character_set_client='utf8', character_set_connection='utf8', character_set_database='utf8', character_set_server='utf8'")) ? $tmp = null: sql_err('-', __LINE__); // ---- Verein wird ausgegeben ------------------------------------------------- $abfrage = <<< EOT SELECT Verein FROM tabelle_de1 WHERE Trainer='{$userdata["user_name"]}' EOT; $ergebnis = query($abfrage, __LINE__); while($row = mysql_fetch_object($ergebnis)) { $verein = $row->Verein; } // ---- Spiele werden ausgegeben ----------------------------------------------- $abfrage = <<< EOT SELECT Spieltag, Heimmannschaft, Gastmannschaft, Heimtore, Gasttore FROM spiele_de1 WHERE (Heimmannschaft='$verein' OR Gastmannschaft='$verein') AND Eingetragen='0' AND Spieltag>='$minliga' AND Spieltag<='$maxliga' EOT; $ergebnis = query($abfrage, __LINE__); // ---- tabellenzeilen zusammensammeln ----------------------------------------- $tr = null; while($row = mysql_fetch_object($ergebnis)) { $tr .= <<< EOT <tr> <td>{$row->Spieltag}</td> <td>{$row->Heimmannschaft}</td> <td>:</td> <td>{$row->Gastmannschaft}</td> <td> <form action="$action" method="post"> <input type="hidden" name="heim" value="{$row->Heimmannschaft}"> <input type="hidden" name="heim" value="{$row->Gastmannschaft}"> <input type="submit" name="submit1" value="Fordern"> </form> </td> </tr> EOT; } // ---- ganze tabelle ---------------------------------------------------------- $table = <<< EOT <table> <tr> <th>Spieltag</th> <th>Heimmannschaft</th> <th></th> <th>Gastmannschaft</th> </tr> $tr </table> EOT; // ---- html-seite ausgeben ---------------------------------------------------- $title = 'fifa-society test'; exit(<<< EOT <!DOCTYPE html> <html> <head> <title>$title</title> </head> <body> <header> <h3>$title</h3> </header> <section> $table </section> </body> </html> EOT ); // ---- mysql helper ----------------------------------------------------------- function query($q, $l) { return ($r = mysql_query($q)) ? $r: sql_err($q, $l); } function sql_err($q, $l) { exit("<pre><h3>mysql error in line $l:</h3>".print_r(array(mysql_errno(), mysql_error()), true)); }
probiers einfach aus und zeig was rauskommt. ich habe die query so umgearbeitet, dass fehler ausgegeben werden.
bevor du loslegst, lese alle doczeilen. dann lösche die zeilen von 12-14, fülle deine mysql connect-daten aus und füge von deinem php-code den anfang dort rein, wo ich hingeschrieben habe.
dann sehen wir es. hoffentlich :) -
czibere schrieb:
fifa-society schrieb:
diese passage gibt sinfreier weise nur den letzten verein aus! ich frage mich seit minuten warum :) was bezweckst hier eigentlich? oder aber gibt es pro trainer ohnehin nur einen verein!? dann reicht es wenn du schreibst//Verein wird ausgegeben// $abfrage = "SELECT Verein FROM tabelle_de1 WHERE Trainer = '".$userdata["user_name"]."'"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $verein = "$row->Verein"; }
$verein = mysql_fetch_object($ergebnis)
also ohne while schleife.
Ups, das war eigentlich vorher ein anderer Teil, den ich letztlich nur umgeschrieben habe. Die While-Schleife ist wirklich unnötig.
sonderbar finde ich außerdem, dass du vor jeder zeile einen <th> brauchst. wieso?
Ähm ... weil ich damit die einzelnen Überschriften der Spalten machen will. Oder gibt es da eine andere Möglichkeit?
Antworten stehen im Zitat.
Hab den Fehler mittlerweile gefunden, trotzdem danke für deine Antwort. Der Fehler war, wie so oft, ein ziemlich dummer: Weil ich die Variable $minliga in einen String '' gepackt habe wurde es nicht als Zahl erkannt :-/
Beitrag zuletzt geändert: 6.8.2012 2:15:47 von fifa-society -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage