Hallo,
ich habe ein System aufgebaut, wo User andere User bewerten.
Die punkte z.B. 20 werden in der Database gespeichert
Dann habe ich sowas gemacht:
www.klamm-designer.de/rank.php?id=1
www.klamm-designer.de/rank.php?id=2
www.klamm-designer.de/rank.php?id=4
Aber er gibt immer die id und nicht den platz den er berechnen sollte aus
(Wenn er downloadn will im borwser eingeben)
So nun mein Problem:
Ich will das er aus den Punkten die in der Database stehen den Platz ermittelt.
Ich bekomme das einfach nicht hin weil er ja nur für die bestimmte id den platz ausgeben soll ans bild
Hier mal der Quellcode was ich bis jetzt versucht habe (im $string2 müsste der Platz dann ausgegeben werden)
Der Code:
Könntet ihr mir weiter helfen ? Wäre euch sehr dankbar
Mit freundlichen Grüßen
Sven Ambros
ich habe ein System aufgebaut, wo User andere User bewerten.
Die punkte z.B. 20 werden in der Database gespeichert
Dann habe ich sowas gemacht:
www.klamm-designer.de/rank.php?id=1
www.klamm-designer.de/rank.php?id=2
www.klamm-designer.de/rank.php?id=4
Aber er gibt immer die id und nicht den platz den er berechnen sollte aus
(Wenn er downloadn will im borwser eingeben)
So nun mein Problem:
Ich will das er aus den Punkten die in der Database stehen den Platz ermittelt.
Ich bekomme das einfach nicht hin weil er ja nur für die bestimmte id den platz ausgeben soll ans bild
Hier mal der Quellcode was ich bis jetzt versucht habe (im $string2 müsste der Platz dann ausgegeben werden)
Der Code:
PHP-Code:
<?php
header('Content-type: image/png');
$sqlhost = "localhost";
$sqluser = "xxx";
$sqlpass = "xxxx";
$database = "xxxx";
$test = mysql_connect($sqlhost,$sqluser,$sqlpass) or die ('Es konnte keine Verbindung mit der Database hergestellt werden!');
mysql_select_db($database);
// Ab hier
$user = mysql_query("SELECT * FROM user_data WHERE id='".$_GET['id']."'") or die (mysql_error());
$data = mysql_fetch_assoc($user);
$qry = mysql_query("SELECT * FROM user_data") or die (mysql_error());
while($row = mysql_fetch_assoc($qry))
{
$count[] = $row['voted'];
$use[] = $row['bname'];
$id_s[] = $row['id'];
}
rsort($count);
$l = 1;
for($i=0;$i<count($use);$i++)
{
if($id_s[$i]==$_GET['id'])$string2[$_GET['id']] = $l;
$l++;
}
$string = $data['bname'];
$string2 = $string2[$_GET['id']];
// Bis hier
$im = imagecreatefrompng('sig.png');
$orange = imagecolorallocate($im, 129, 135, 142);
if(strlen($string)==16) $px = (imagesx($im)-11.1*strlen($string));
elseif(strlen($string)==15) $px = (imagesx($im)-11.8*strlen($string));
elseif(strlen($string)==14) $px = (imagesx($im)-12*strlen($string));
elseif(strlen($string)==13) $px = (imagesx($im)-13*strlen($string));
elseif(strlen($string)==12) $px = (imagesx($im)-14*strlen($string));
elseif(strlen($string)==11) $px = (imagesx($im)-15*strlen($string));
elseif(strlen($string)==10) $px = (imagesx($im)-17*strlen($string));
elseif(strlen($string)==9) $px = (imagesx($im)-18*strlen($string));
elseif(strlen($string)==8) $px = (imagesx($im)-20*strlen($string));
elseif(strlen($string)>=6) $px = (imagesx($im)-22*strlen($string))/2;
elseif(strlen($string)>=4) $px = (imagesx($im)-22*strlen($string))/'2.8';
else $px = (imagesx($im)-22*strlen($string))/'3.2';
if(strlen($string2)==1) $px2 = (imagesx($im)- -70*strlen($string2))/2;
elseif(strlen($string2)==2) $px2 = (imagesx($im)- -30*strlen($string2))/2;
elseif(strlen($string2)==3) $px2 = (imagesx($im)- -20*strlen($string2))/2;
else $px2 = (imagesx($im) - -30 * strlen($string2)) / 2;
imagestring($im, 3, $px, 23, $string, $orange);
imagestring($im, 3, $px2, 23, $string2, $orange);
imagepng($im);
imagedestroy($im);
?>
Mit freundlichen Grüßen
Sven Ambros
Kommentar