Forbedringer til MySQL forspørgelse
1) Jeg har her et PHP script der er splittet op i to selvstændige forespørgsler, men det burde kunne lade sig gøre med en enkelt forespørgsl, da det ville kunne give mig en markant forbedre hastigheden.2) plus at få resulatat ud i alfabetisk rækkefølge.
Min funktion ser sådan her ud:
function FilmFunktion($dvdbasen, $table, $usernumber, $fstLine, $choose) {
//følsomme db-oplysninger fjernet!
//$db = aabn_forbindelse_og_vaelgdb($dvdbasen);
$query = "SELECT extraID,dvdmarkedType FROM extra where userID='$usernumber' AND (dvdmarkedType='1' OR dvdmarkedType='2')";
$sql_result = mysql_query($query,$db);
// det første punkt i dropdown listen
if ($choose == "") {
$option_block = "<OPTION value=\"0\" SELECTED>$fstLine</OPTION>";
}
else {
$option_block = "";
}
//loop over alle film!
while (list($newHits, $dvdmarked) = mysql_fetch_row($sql_result)) {
echo"$dvdmarked";
$filmnavnresult = mysql_query("SELECT orgTitle FROM film INNER JOIN filmextraRelation ON filmextraRelation.filmID=film.filmID where filmextraRelation.extraID='$newHits'");
$filmnavn = mysql_result($filmnavnresult,0);
$option_block .= "<OPTION value=\"$newHits\" ";
if ($choose == $filmnavn) {
$option_block .= "SELECTED";
}
$option_block .= ">$filmnavn</OPTION>\n";
}
return $option_block;
}
Mine tabeller ser sådan her ud:
Tabel: extra med felter extraID int(11), userID int(11), dvdmarkedType (smallint)
Tabel: user med felter userID int(11)...
Tabel: film med felter filmID int(11), orgTitle varchar(100)
Tabel: filmextraRelation med fleter extraID int(11), filmID int(11)
