If-anweisung php

hi,

hab ein problem mit php, denn meine if anweisung funktioniert nicht und ich weiss nicht wieso, denn ich will, dass wenn zB 15 > ist als 12 soll die schrift grün angezeigt werden (in meinem fall also wenn $row[6] >= $row[7] ; 6 und 7 sind die Spalten in mysql) und wenn das gegenteil der fall ist dann soll die schrift rot angezeigt werden ... also bei einem Sieg grün und bei einer niederlage rot ...
Hier mal die anweisung:

<?
if ($row[5]>=$row[6]) {
echo "<td class='scorecss'><? echo $row[6];?> : <? echo $row[7];?></td>";
} else {
echo "<td class='unnamed1'><? echo $row[6];?> : <? echo $row[7];?></td>";
} ?>


Hier der ganze Code

Verbindung zur mysql datenbank etc ...
dann:
<table>
<? while ($row = mysql_fetch_row($ergebnis))//Bedingung solange ein Datensatz gefunden wird
{
?>
<tr bordercolor="#8094C1" bgcolor="#BED1D5">
<td height="41"><? echo $row[1];?></td>
<td><? echo $row[2];?></td>
<td><? echo $row[3];?></td>
<td><? echo $row[4];?></td>
<?
if ($row[5]>=$row[6]) {
echo "<td class='scorecss'><? echo $row[6];?> : <? echo $row[7];?></td>";
} else {
echo "<td class='unnamed1'><? echo $row[6];?> : <? echo $row[7];?></td>";
} ?> </tr>
<? } ?>
</table>

scorecss ist der stil für grün und unnamed1 ist der stil für rot.
Kann mir bitte jemand verraten, wie ich so was mit php machen kann bzw was diese Anweisung für einen Fehler hat.


Ich hoffe, ich hab in das richtige forum gepostet und Thx schon im Voraus! toxi
 
Du vergleichst $row[5] und $row[6], gibst aber $row[6] und $row[7] aus... hat das seine Richtigkeit? Ich tippe hier auf einen semantischen, keinen syntaktischen Fehler ;)
 
hi, danke für die antwort aber hat nichts mit dem zu tun ... es kommt ja eigentlich kein fehler ... mir gehts nur darum, dass die tabelle einfach so erweitert wird, ohne dass ich das will wie hier unten und in der eigentlichen spalte ist gar nix (wenn ich also den code so eingebe wie oben) ... die letzte spalte in der tabelle auf dem bild:



zu dem muss ich noch erwähnen, dass ich noch n ziemlicher anfänger bin :( ...

so hier das bild :)
 
Bilder bitte anhängen oder auf Webspace laden. Auf deine Festplatte hat hier (im Idealfall) keiner Zugriff ;)
 
Lass dir mit print_r() mal $row ausgeben und schaue, was da von mySQL zurückkommt. Scheinbar kommt da teilweise HTML mit, ansonsten könnte ich mir diesen Effekt auch nicht erklären.
 
danke für die antwort ... ich seh dann morgen mal nach cya :) ....

bin doch noch an den computer ran gekommen und bekomme wenn ich das print_r($row) eingebe folgendes:

Array ( [0] => 1 [1] => 2006-04-23 [2] => test [3] => test [4] => test [5] => 11 [6] => 22 )

najo scheint mal alles zu stimmen ...

Ajo und ich hab die datei trotzdem upgeloaded und siehe da:

die tabelle hat zwar nicht mehr diese erweiterung (wie im dreamweaver dargestellt)und der doppelpunkt (sieht man nicht so gut) ist auch rot bzw grün, wenn $row[5]>$row[6] und umgekehrt... aber die Zahlen zeigt es halt nicht an ... und ich weiss nicht wieso :(
 
PHP:
echo "<td class='scorecss'><? echo $row[6];?> : <? echo $row[7];?></td>";
} else {
echo "<td class='unnamed1'><? echo $row[6];?> : <? echo $row[7];?></td>";
Weißt du eigentlichw as du da machst?
ich nehme ma an nicht.
Wenn du in deinen HTML Code schaust siehst du das dort eine ausgabe ist und zwischen <? und ?> das steht was du eigentlich gerne hättest aber es wird dir nicht angezeigt gerade weil es zwischen den <??> ist.
entweder du änderst es in
PHP:
?> <td class='scorecss'><? echo $row[6];?> : <? echo $row[7];?></td>
<? } else { ?>
echo "<td class='unnamed1'><? echo $row[6];?> : <? echo $row[7];?></td>
<?
oder, du hängst es ordentlich rein:
PHP:
echo "<td class='scorecss'>".$row[6]." : ". $row[7]."</td>";
} else {
echo "<td class='unnamed1'>".$row[6]." : ". $row[7]."</td>";
(natürlich ohne das <?php ?> das hier in dem beispiel automatisch vom board eingefügt wurde)
 
Danke für die Lösung :) ... najo die 2. variante habe ich schon einmal versucht, weiss allerdings auch nicht wieso diese damals nicht korrekt war.

mfg toxi
 
Ach du Sch****... da sieht man mal, was es für eigentlich offensichtliche Fehler gibt, die einem (mir) trotzdem net auffallen *peinlich*
 
Zurück
Oben