Mailinglisten-Archive |
> Warum PHP? Wieso sollte das schneller sein?
Naja, ich kann die Suche so gestalten, daß die Mengen und Kreuzprodukte minimal
sind. So brauche ich für 5 Müllarten "nur" 6 Sekunden anstatt 5 x 42 Sekunden.
Das gibt einen Divisor von über 20.
Ich habe es hier mal zum Testen umgesetzt:
<?php
executeSQL("select id,name from entsorg_muellart where _delcode=0
order by name",$res_m); // Müllart suchen
while ($row_m=mysql_fetch_row($res_m))
{ $resultarray=array();
executeSQL("select id from entsorg_bezirk where muellart=$row_m[0]
and _delcode=0",$res_b); // Bezirke der Müllart suchen
while ($row_b=mysql_fetch_row($res_b))
{ executeSQL("select strasse from entsorg_bezirk_strasse where
bezirk=$row_b[0] and _delcode=0",$res_s);
// passende Strassen suchen
while ($row_s=mysql_fetch_row($res_s))
{ executeSQL("select name from entsorg_strasse where id=$row_s[0]
and _delcode=0",$res_n); // Namen der Strassen suchen
while ($row_n=mysql_fetch_row($res_n))
{ $resultarray[$row_s[0]]=$row_n[0]; // Namen und ID#s der Strassen
// in ein Array laden, um es sortiert ausgeben zu können.
// (Im Select gehts nicht, da ich da nur die ID habe)
}
}
}
asort($resultarray);
echo "<br><b>$row_m[1]</b><br><select name=$row_m[0]>";
while (list($id,$name)=each($resultarray))
{ echo "<option value=$id>$name</option>\n";
}
echo "</select><br>";
}
?>
Aber das ist mir immer noch zu lahm...
Patrick Bierans / LYNET Kommunikation AG/ pbierans_(at)_lynet.de
---------------------------------------------------------------
Das Internet-Systemhaus fuer Multimedia- und Netzwerkloesungen.
Zentrale Luebeck: Fon +49-451-6131-0, Fax -333
Niederlassung Hamburg: Fon +49-40-65738-0, Fax -333
---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive