mySQL Problem

sd12

Legendäres Mitglied
Hab da ein kleines Problem...

Auf der folgenden Seite (http://www.handyx.ch/start-handygames-fuer-Nokia_7610-164.htm), sind im oberen Teil der Seite die Top 5 Handygames für das Nokia 7610 aufgelistet ("Handygames für dein Nokia 7610").

Nun gibt es aber Handys für welche es noch nicht die Top5 gibt (weil z.B.) für dieses Handy nur 2 Games verfügbar sind) z.B. hier (http://www.handyx.ch/start-handygames-fuer-Samsung_SGH_X660-219.htm). In diesem Fall gelangt das Script in eine endlosschlaufe (verzeih mir kreativmedia). Wie kann ich das verhindern?

Hier der ensprechende Code-Schnipsel.

CODE $re = mysql_query("select count(*) as counter, gameid from dl_report where contenttype = '1'
group by gameid
order by counter desc limit 0,50
");

echo"<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr align=\"center\" valign=\"top\">";

$x=0;
$num_s=0;
while($num_s < 5) {

$itemid = mysql_result($re,$x,"gameid");
$sel = mysql_query("SELECT * FROM n_games WHERE yourbox_id = '$itemid' AND (handylist LIKE '%$devicename /%' OR handylist LIKE '%$devicename,%' OR handylist LIKE '%$devicename' OR handylist LIKE '%, $devicename%')");
$sele = mysql_fetch_array($sel);
$title_ger2 = $sele[title_ger];

if($title_ger2!=""){
$title_ger_l=ereg_replace("-","_", $title_ger2);
$title_ger_l=ereg_replace(" ","_", $title_ger_l);
print "<td class=\"content\"><a href=\"handygames-detail-$title_ger_l-".$devicemarke.",$devicename-$itemid.htm\"><img src=\"n_pic/".$itemid."boxsmall.gif\" border=\"0\"><br>$title_ger2</a></td>";

$num_s++;
}
$x++;
}
 
Hallo Benedikt,

brauchst du die gameid der ersten 50 games später noch für andere Zwecke?
So ist das ja grottenschlecht und wäre besser mit einem left join in einzigem query zu bewerkstelligen anstatt mit 6 (falls vorhanden).
In der Schleife sehe ich keinen Sinn in der Variablen num_s. Du könntest auch in den query in der Schleife
" and title_ger2 >'' " schreiben. Dann sparst du diese if-clause, aber wie erwähnt, eine einziger query würde wohl auch genügen.

Gruss

Tümmel


 
Zurück
Oben