webForumDet fria alternativet

Fet SQL loop!

0 svar · 242 visningar · startad av Neo

NeoMedlem sedan dec. 200079 inlägg
#1

*** sorry, jag postade i PHP, skulle vara i MySQL *** :-)

Hej!

Jag undrar om någon kan hjälpa mig att göra dessa loopar effektivare...

Jag ska visa ett helt år, dvs 52 veckor.

Sen ska jag visa alla filmer som ligger i db:n och visa hur många gånger de förekommer per vecka...

t ex.

Film 1, vecka 38, 40 ggr
Film 1, vecka 39, 5 ggr

osv... jag har lyckats med funktionen men det tar våldigt långt tid att exekvera och jag känner att det borde finnas smartare sätt att göra det på.

Kolla koden:

<table border="0" cellspacing="3" cellpadding="7">
<?
echo("<tr bgcolor=\"#FFFFFF\"><td width=\"100\"><strong>Vecka</strong></td>");
$weekcounter=1;
do {
echo("<td valign=\"top\"><strong>$weekcounter</strong></td>");
$weekcounter++;
} while($weekcounter<=52);

echo("</tr>");
?>

<?
$sql = "SELECT DISTINCT movie FROM xxx ORDER by movie ASC";
$result = mysql_query($sql);
$array = mysql_fetch_array($result);
if (mysql_num_rows($result)>0) {
do {
$weekcounter = 1;
$movie = $array["movie"];

if ($type=='ad') {
$text_color = "#CC0000";
} else {
$text_color = "#000000";
}

echo("<tr title=\"$movie\" bgcolor=\"#FFFFFF\" onclick=\"javascript:this.bgColor='#ffcc66';\"><td width=\"100\"><span style=\"color:$text_color;\">$movie</span></td>");

$weekcounter2 = 1;
do {
$sql2 = "SELECT id FROM xxx WHERE movie='$movie' and week='$weekcounter2'";
$result2 = mysql_query($sql2);
$array2 = mysql_fetch_array($result2);
$total_rows = mysql_num_rows($result2);
echo("<td valign=\"top\">$total_rows</td>");
$weekcounter2++;
} while($weekcounter2<=52);

echo("</tr>");

} while ($array = mysql_fetch_array($result));

}
?>

</table>

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb