Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 15-01-2008, 17:22
pälzer
 Newbie
Links : Onlinestatus : pälzer ist offline
Registriert seit: Jan 2008
Beiträge: 2
pälzer ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Funktion] Problem mit mysql_fetch_object

Hey,

erstmal sorry, dass mein erstes Posting direkt schon ein "Hilferuf" ist.

Ich hab ein Problem. Und zwar geht es um folgendes. Ich habe in einer My-SQL Datenbank Fußballspieler eingetragen. In der Tabelle, in der die Spieler eingetragen sind, befindet sich ein Feld mit dem Namen "pos" für die jeweilige Position. Sprich 1 für Torhüter, 2 für Abwehspieler, 3 für Mittelfeldspieler und 4 für Stürmer. Jetzt möchte ich bei der Abfrage, dass bei der Ansicht des Spielerkaders die jeweiligen Positionen als eine Art Kategorie angezeigt wird (siehe Screen).



Wer ein bisschen Interesse am Fußball hat sieht, dass es sich hierbei um den Kader vom FC Arsenal handelt. Es funktioniert auch eigentlich einwandfrei, außer, dass ein Spieler in der Kategorie "Tor" fehlt. Und das wäre Manuel Almunia, obwohl dieser auch bei pos die 1 für Tor stehen hat. In der Abfrage, wird er auch ohne weiteres angezeigt.

Ich muss dazu sagen, dass ich die Umsetzung für diese Darstellung im Internet gefunden habe. Das war ein eigentlich fertiges Script und ich habe es mir, bevor ich losgelegt habe angeschaut. Und auch da funktioniert es nicht. Der erste Datensatz wird immer missachtet und nicht ausgegeben. Das habe ich auch bei anderen Kader-Seiten von anderen Mannschaften. Jetzt ist es so, wenn ich in der Datenbank einen imaginären Spieler anlege mit der Positions-ID wird dieser Spieler zwar nicht angezeigt, aber der komplette Kader von Arsenal London wird angezeigt. Ich habe dieses Problem nur bei den Torhütern. Alle anderen Spieler werden richtig angezeigt.

Hier mal der PHP-Code. Und bitte nicht auf Richtigkeit in Sachen Zeichensetzung achten. Ich hab das schnell mal "hingeschmiert" gestern. Der Feinschliff kommt dann auch erst, wenn das Script zu 100 % funktioniert.

PHP-Code:
<?php
$strVar 
"";
  echo 
"<table width=\"100\%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
  
$i=0;
  while(
$row mysql_fetch_object($rs)) {

      
// vergleichen des Spaltenwertes mit dem Wert der Variablen
    
if ($strVar == "" || $strVar != $row->pos) {
        if(
$row->pos 1) {echo"<tr><td colspan=\"7\" class=\"border_top\">&nbsp; </td></tr>";}    
    echo 
"<tr><td class=\"table_header_01\" colspan=\"7\">";
    echo 
positionen($row->pos);
    echo 
"</td></tr>";
    echo 
"<tr>";
    echo 
"<td class=\"table_header_02\"><div align=\"center\">Nr</div></td>";
    echo 
"<td class=\"table_header_02\">Name</td>";
    echo 
"<td class=\"table_header_02\" colspan=\"2\">Nationali&auml;t</td>";
    echo 
"<td class=\"table_header_02\">Geburtstag (Alter)</td>";
    echo 
"<td class=\"table_header_02\">Gr&ouml;&szlig;e</td>";
    echo 
"<td class=\"table_header_02\">Gewicht</td>";
    echo 
"</tr>";

    
// Variablen den Wert des Datenfeldes geben
    
$strVar $row->pos;
    } 
?>
    <tr <?php if($i%2) {$bgc "tab_a";} else {$bgc "tab_b";} ?> class="<?php echo "$bgc"?>">
    <td height="25" class="border_left"><div style="font-weight:bold;" align="center"><?php echo $row->no?></div></td>
    <td><?php if($row->nickname NULL) {echo $row->nickname;} else {echo $row->vorname." ".$row->name;} ?></td>
    <td width="28"><div align="center">
    <img name="" src="/img/flags/<?php echo $row->nat1?>.png" width="17" height="17" />
    </div> <?php echo "</td><td>".$row->ioc."</td>
    <td>"
?><?php echo $row->geburtsdatum?><?php if($row->geburtsdatum NULL
    {echo 
" (".$row->alter_jahre.")";} else { echo "";} ?></td>
    <td><?php if($row->grosse NULL) {echo $row->grosse." cm";} else {echo "";} echo "</td>
    <td class=\"border_right\">"
?><?php if($row->gewicht 0) {echo $row->gewicht." kg";} else {echo "";} ?>
<?php $i
++; } 
echo 
"</table>"?>

Geändert von pälzer (15-01-2008 um 17:59 Uhr)
Mit Zitat antworten