PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehlender Nickname in Tagesbettelralley



Chrissi01
07.08.2010, 10:39
Hallo,
ich habe mal wieder ein kleines Problem mit der Anzeige der Tagesbettelralley hier aus dem Download.
VMS Version 1.2.4
Die Tagesbettelralley zählt und zeigt aus, bis auf den Usernamen, dort steht bei allen "nickname".


<tr bgcolor="">
<td align="center">'.$rp.'</td>
<td align="center">'.$pa['uid'].'</td>
<td align="center">'.$userdaten['nickname'].'</td>
<td align="right">'.number_format($pa['punkte'],2,",",".").'&nbsp;&nbsp;</td>
<td align="right">'.$mg.'&nbsp;&nbsp;</td>
</tr>

mit


<td align="center">'.$pa['nickname'].'</td>

habe ich es versucht aber dann bleibt das Feld leer.
Kennt jemand den Fehler ?
Tournament und andere Ralleys wird es korrekt angezeigt.
Wahrscheinlich ein kleiner Fehler komme aber mal wieder nicht drauf.
Gruß
Christian

hankfromhelvete
07.08.2010, 14:43
Wie lautet denn der Query zu $pa ?

Edit:
Meinte natürlich $userdaten, nicht $pa

Lokutos
07.08.2010, 15:08
du must im query weiter oben soweit mir bekannt die anführungszeichen entfernen um das nickname hierum.

Chrissi01
07.08.2010, 15:37
Helf mir bitte, hier der gesamte Absatz:

<?
$platz = db_query("SELECT * FROM ".$db_prefix."_tbettelrally WHERE punkte > '".$ralleydaten['minimum']."' ORDER BY punkte DESC LIMIT 20");
while ($pa = mysql_fetch_array($platz)) {
$userdaten = mysql_fetch_array(db_query("SELECT 'nickname' FROM ".$db_prefix."_userdaten WHERE uid=".$pa['uid']." LIMIT 1"));
$rp++;
if ($ralleydaten['art'] == 'statisch') {
$mg = number_format($ralleydaten['p'.$rp],2,",",".");
} else {
$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp],2,",",".");
}
if ($rp > $ralleydaten['plaetze']) $mg = '----';
echo '
<tr bgcolor="">
<td align="center">'.$rp.'</td>
<td align="center">'.$pa['uid'].'</td>
<td align="center">'.$userdaten['nickname'].'</td>
<td align="right">'.number_format($pa['punkte'],2,",",".").'&nbsp;&nbsp;</td>
<td align="right">'.$mg.'&nbsp;&nbsp;</td>
</tr>
';
}
for($x=$rp+1;$x<21;$x++){
if ($ralleydaten['art'] == 'statisch') {
$mg = number_format($ralleydaten['p'.$x],2,",",".");
} else {
$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$x],2,",",".");
}
if ($x > $ralleydaten['plaetze']) $mg = '----';
echo '
<tr bgcolor="">
<td align="center"></td>
<td align="center">N/A</td>
<td align="center">N/A</td>
<td align="right">0&nbsp;&nbsp;</td>
<td align="right">'.$mg.'&nbsp;&nbsp;</td>
</tr>
';
}
?>
Das was mich so fertig macht sind die ' oder " oder manchmal beide '" in einer Abfrage.

hankfromhelvete
07.08.2010, 15:56
So sollte es gehen:



<?
$platz = db_query("SELECT * FROM ".$db_prefix."_tbettelrally WHERE punkte > '".$ralleydaten['minimum']."' ORDER BY punkte DESC LIMIT 20");
while ($pa = mysql_fetch_array($platz)) {
$userdaten = mysql_fetch_array(db_query("SELECT nickname FROM ".$db_prefix."_userdaten WHERE uid=".$pa['uid']." LIMIT 1"));
$rp++;
if ($ralleydaten['art'] == 'statisch') {
$mg = number_format($ralleydaten['p'.$rp],2,",",".");
} else {
$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp],2,",",".");
}
if ($rp > $ralleydaten['plaetze']) $mg = '----';
echo '
<tr bgcolor="">
<td align="center">'.$rp.'</td>
<td align="center">'.$pa['uid'].'</td>
<td align="center">'.$userdaten.'</td>
<td align="right">'.number_format($pa['punkte'],2,",",".").'&nbsp;&nbsp;</td>
<td align="right">'.$mg.'&nbsp;&nbsp;</td>
</tr>
';
}
for($x=$rp+1;$x<21;$x++){
if ($ralleydaten['art'] == 'statisch') {
$mg = number_format($ralleydaten['p'.$x],2,",",".");
} else {
$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$x],2,",",".");
}
if ($x > $ralleydaten['plaetze']) $mg = '----';
echo '
<tr bgcolor="">
<td align="center"></td>
<td align="center">N/A</td>
<td align="center">N/A</td>
<td align="right">0&nbsp;&nbsp;</td>
<td align="right">'.$mg.'&nbsp;&nbsp;</td>
</tr>
';
}
?>

Chrissi01
07.08.2010, 17:25
leider nein, jetzt heissen alle Array ! Sonst hat sich nichts geändert.

Roadstar
07.08.2010, 17:34
So vielleicht?

<?
$platz = db_query("SELECT t1.uid, t1.punkte, t2.nickname FROM ".$db_prefix."_tbettelrally AS t1 LEFT JOIN ".$db_prefix."_userdaten AS t2 ON t2.uid = t1.uid WHERE t1.punkte > '".$ralleydaten['minimum']."' ORDER BY t1.punkte DESC LIMIT 20");
while ($pa = mysql_fetch_array($platz)) {
$rp++;
if ($ralleydaten['art'] == 'statisch') {
$mg = number_format($ralleydaten['p'.$rp],2,",",".");
} else {
$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp],2,",",".");
}
if ($rp > $ralleydaten['plaetze']) $mg = '----';
echo '
<tr bgcolor="#FAE5C4">
<td align="center">'.$rp.'.&nbsp;</td>
<td align="center">'.$pa['uid'].'</td>
<td align="center">'.$pa['nickname'].'</td>
<td align="center">'.number_format($pa['punkte'],0,",",".").'</td>
<td align="center">'.$mg.'</td>
</tr>
';
}
for($x=$rp+1;$x<21;$x++){
if ($ralleydaten['art'] == 'statisch') {
$mg = number_format($ralleydaten['p'.$x],2,",",".");
} else {
$mg = number_format($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$x],2,",",".");
}
if ($x > $ralleydaten['plaetze']) $mg = '----';
echo '
<tr bgcolor="#FAE5C4">
<td align="center">'.$x.'.&nbsp;</td>
<td align="center">N/A</td>
<td align="center">N/A</td>
<td align="center">0</td>
<td align="center">'.$mg.'</td>
</tr>
';
}
?>

Chrissi01
07.08.2010, 17:50
leider nein, alle anzeigen bis auf die bisherige Gewinnsumme sind blank.

Chrissi01
07.08.2010, 20:36
Dank Roadstar ist das Problem gelöst.
Thread kann geschlossen werden.

Danke allen die es versucht haben mir zu helfen.

Gruß
Christian