kostenloser Webspace werbefrei: lima-city


MySQL Ergebnisse nicht vollständig

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fifa-society

    fifa-society hat kostenlosen Webspace.

    Hallo,

    ich habe nochmal ein Problem :biggrin:. 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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. fifa-society schrieb:
    //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";
    		}
    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 = 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 :)
  4. Autor dieses Themas

    fifa-society

    fifa-society hat kostenlosen Webspace.

    czibere schrieb:
    fifa-society schrieb:
    //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";
    		}
    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 = 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
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!