Abend,
Also ich hab da nen größeres Performence Problem.. Ich hab ein große Tabelle mit Sängern.. über 10.000 oder sowas
Und ich hab ein Dynamisches Dropdown mitdem ich einen buchstabe auswähle und dann erscheinen die Interpreten.. Das alles funktioniert ist kein Problem allerdings hab ich ein Problem mit der Schnelligkeit.. Momentan brauch ich 4 Sekunden bis er alle Interprpreten für jeden Buchstabe ausgegeben hat.. Obwohl ich ne Temp Tabelle erstelle und nen Index setze..
Tabelle
id | interpret
Mein Code für den Include
Würd mich über par tipps freuen da ich im Bereich Preformence nich soviel ahnung hab
mfg Sebastian
Also ich hab da nen größeres Performence Problem.. Ich hab ein große Tabelle mit Sängern.. über 10.000 oder sowas
Und ich hab ein Dynamisches Dropdown mitdem ich einen buchstabe auswähle und dann erscheinen die Interpreten.. Das alles funktioniert ist kein Problem allerdings hab ich ein Problem mit der Schnelligkeit.. Momentan brauch ich 4 Sekunden bis er alle Interprpreten für jeden Buchstabe ausgegeben hat.. Obwohl ich ne Temp Tabelle erstelle und nen Index setze..
Tabelle
id | interpret
Mein Code für den Include
PHP-Code:
<script language="Javascript">
<!-- Start
function update_auswahl()
{
var kategorieAuswahl = document.forms.verzeichnis.kategorie;
var unterkategorieAuswahl = document.forms.verzeichnis.unterkategorie;
unterkategorieAuswahl.options.length = 0; // DropDown Menü entleeren
<?php
//Temp Tabelle damits schneller geht inkl. Index
mysql_query("CREATE TEMPORARY TABLE temp_interpret_buchstabe
SELECT SUBSTRING(interpret,1,1) as buchstabe,interpret from
songfire_interpreten order by buchstabe ASC") or
die(mysql_error());
mysql_query("ALTER TABLE `temp_interpret_buchstabe` ADD INDEX (`buchstabe`) ") or die(mysql_error());
//Hauptkats ausgeben
$a=mysql_query("SELECT buchstabe from temp_interpret_buchstabe GROUP BY buchstabe order by buchstabe
ASC") or die(mysql_error());
while($temp=mysql_fetch_array($a)){
if(ereg("[A-Za-z]",$temp[buchstabe])){
$temp[buchstabe] = strtoupper($temp[buchstabe]);
}
else{
$temp[buchstabe] = "#";
}
?>
if (kategorieAuswahl.options[kategorieAuswahl.selectedIndex].value == "<?php echo $temp[buchstabe]; ?>" )
{
<?php
if($temp[buchstabe] == '#'){
$b=mysql_query("SELECT interpret FROM
`temp_interpret_buchstabe` WHERE buchstabe REGEXP '^[^A-Z]'")
or die(mysql_error());
}
else{
$b=mysql_query("SELECT interpret FROM `temp_interpret_buchstabe` WHERE buchstabe =
'$temp[buchstabe]'") or die(mysql_error());
}
$counter = 0;
while($temp2=mysql_fetch_array($b)){
?>
unterkategorieAuswahl.options[<?php echo $counter; ?>] = new Option("<?php echo $temp2[interpret]; ?>");
<?php
$counter++;
}
?>
}
<?php
}
?>
}
// Ende -->
</script>
Würd mich über par tipps freuen da ich im Bereich Preformence nich soviel ahnung hab
mfg Sebastian
Kommentar