PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql_fetch_array Problem



rene_1992
25.03.2012, 12:12
Hallo Liebe Designer User

Vms Script Version: 1.2.4

-----------------------------
Ich habe folgendes Problem ich meine meine Seite zu netcup übertragen.
Dannach hatte ich Extrem viele Fehler auf der Seite.


Fehlermeldung (Beispiel):


Warning: Division by zero in /var/www/web535/html/dragonriders/content/intern/top10.php on line 73

In denn jeweiligen Zeilen ist immer dieser Code enthalten:



59: <?
60: $rang = 1;
61: $platz1 = db_query("SELECT k.uid,k.klicks,k.kv,u.nickname FROM
62: vms_kontodaten AS k
63: LEFT JOIN vms_userdaten AS u ON u.uid=k.uid
64: ORDER BY k.klicks DESC LIMIT 25");
65: while ($nickk = mysql_fetch_array($platz1)){
66: $i++;
67: echo '
68: <tr class="tr_row'.($i % 2 == 0 ? '0' : '1').'">
69: <td align="center">'. $rang++ .'</td>
70: <td align="center"><a href="?content=/nickpage&nick='.$nickk['nickname'].'">'.$nickk["nickname"].'</a></td>
71: <td align="center">'.number_format($nickk[klicks],0,",",".").'</td>
72: <td width="20%" align="center">'.number_format($nickk['kv'],0,",",".").' </td>
73: <td width="20%" align="center">'.number_format (($nickk['kv']/$nickk['klicks']), 2, ',', '.').' lose</td>
74: </tr>
75: ';
76: }
78: ?>

Kann das eine Fehleinstellung am Server sein?

Xenon
25.03.2012, 12:18
Kein Inhalt in der Tabelle - Tabelle leer!

rene_1992
25.03.2012, 12:39
Kein Inhalt in der Tabelle - Tabelle leer!

Okay, danke schonmal. Wie kann ich die Tabelle so umbauen das sie mir nur so viele Anzeigt wie auch gefüllt sind und die leeren einfach weg sind?

Xenon
25.03.2012, 13:11
Okay, danke schonmal. Wie kann ich die Tabelle so umbauen das sie mir nur so viele Anzeigt wie auch gefüllt sind und die leeren einfach weg sind?
Es gab hier im Forum einen Workaround dafür, müsstest die SuFu nutzen.

rene_1992
28.03.2012, 11:58
leider nix gefunden :(

breaker
22.05.2012, 09:06
68: <tr class="tr_row'.($i % 2 == 0 ? '0' : '1').'">


Das brauchst du so gar nicht, ein


<tr class="tr_row<?php echo $i % 2; ?>">

reicht da komischerweise aus, das ganze als HTML ausgegeben gibt dann (entgegen jeden logischen Denkens) trotzdem 0 und 1 im wechsel...

Wieso es nur 0 oder 1 ergibt, ist mir selber echt ein Rätsel, bzw. wieso es überhaupt ein INT ergibt

jpwfour
22.05.2012, 12:26
$i % 2
könnte, sollte $i auch negativ sein dürfen, auch "-1" ergeben. Daher scheint mir der Vergleich auf 0 hier besser lesbar, ein schöner Kompromiss aus Lesbarkeit und Verständlichkeit. Ein Softwarequalitätsfuzzi würde vermutlich noch die Kurzschreibweise für if-else anstreichen, aber denke hier ist die dann doch mal ganz gut untergebracht :wink:

Lokutos
22.05.2012, 18:54
Das brauchst du so gar nicht, ein


<tr class="tr_row<?php echo $i % 2; ?>">

reicht da komischerweise aus, das ganze als HTML ausgegeben gibt dann (entgegen jeden logischen Denkens) trotzdem 0 und 1 im wechsel...

Wieso es nur 0 oder 1 ergibt, ist mir selber echt ein Rätsel, bzw. wieso es überhaupt ein INT ergibt

Wieso sollte das keinen sinn ergeben ?

Modulos gibt den rest einer Division aus....

10 / 2 = 5 rest 0
11 / 2 = 5 rest 1
12 / 2 = 6 rest 0

was ist daran unlogisch ?
http://php.net/manual/de/language.operators.arithmetic.php

breaker
22.05.2012, 21:20
Wieso sollte das keinen sinn ergeben ?

Modulos gibt den rest einer Division aus....

10 / 2 = 5 rest 0
11 / 2 = 5 rest 1
12 / 2 = 6 rest 0

was ist daran unlogisch ?
http://php.net/manual/de/language.operators.arithmetic.php

Jup, heute ist mir mein Denkfehler aufgefallen, es ist ja nicht / (division), sondern % (modulus) (Wenn man zu viel PHP codet, fallen die leichtesten dinge zum schluss auf :D)