guten morgen !!!
ich habe einen wochenkalender, dieser ist von 08.00 bis 18 uhr unterteilt. es können für jeden tag und jede halbe stunde einträge in der db (mysql) emacht werden. diese habe ich über eine id 14.05.2004.60 eindeutig in der db abgelegt.
die letzte 60 zeigt an das der eintrag für 08:30 bestimmt ist. hier zähle ich immer 30 pro eintrag hinzu.
nun habe ich eine abfrage:
suche zu jedem 30 eintrag an jedem tag einen eintrag in der db. die abfrage dauert zwischen 5 und 10 sekunden.
wie bringe ich es schneller hin?
###########################################
//schleife wird für das ende der ausgabe tab. und zeitrechnung genutzt
for($t=0; $t<20; $t++) {
$caltime = "30"; // zur berechnung der zeit in where
for($l=0; $l<=6; $l++){
// an den wochentag bsp. 10.10.2004 wird der timestempel bsp 30, 60 ect. angehängt
$where =($wochentag[$l].".".$caltime*$t);
$sql="SELECT * FROM $system[TB_DATEN] WHERE id='$where'";
$sql=mysql($system[DB], $sql);
@$nachricht=mysql_result($sql,0,1); //erstellt Nachricht
if($nachricht!="") //wenn Termin vorhanden
echo "";
if($x == $kkkk) {
if($nachricht!="") {
echo "<td bgcolor=\"#FFFFFF\"><a href=\"javascriptpen_nachricht($j,".$nachricht.")\" class=\"anzeige\">";
echo "<a href=\"$nachrichten\">".$nachricht;
echo "</a></td>";
}
//else if($nachricht!="" && $feiertag==$wochentag[$l]) // wenn Feiertag dann
else if (in_array("$wochentag[$l]", $myfeiertag))
{
echo "<td bgcolor=\"#FFCCCC\"><a href=\"javascriptpen_nachricht($j,".$nachricht.")\" class=\"anzeige\">";
echo "<a href=\"$nachriichten\">".$nachricht;
echo "</a></td>";
}else if ($feiertag==$wochentag[$l]){
// }else if ($feiertag[$datum[monatsNamen][$monat]][$yyyy]==$wochentag[$l]){
echo "<td bgcolor=\"#FFCCCC\"> </td>";
}else{
echo "<td bgcolor=\"#CCCCFF\"> </td>";
}
// zeit angeben für den linken tabellenrand
$time = '08:30';
list($h, $m) = split(':', $time);
$d = mktime($h, $m, 0, 1, 1, 1970);
$add = 30;
$zeitteiler = date('H:i', $d + 60 * ($add* $t));
if($l==6 && $t<19) echo "</tr><tr><td><font color=\"#FFFFFF\"><b>$zeitteiler</b></font></td>";
if($l==6 && $t>19) echo "</tr>";
}
ect..................................
###########################################
bin anfänger und für jeden tipp dankbar
ich habe einen wochenkalender, dieser ist von 08.00 bis 18 uhr unterteilt. es können für jeden tag und jede halbe stunde einträge in der db (mysql) emacht werden. diese habe ich über eine id 14.05.2004.60 eindeutig in der db abgelegt.
die letzte 60 zeigt an das der eintrag für 08:30 bestimmt ist. hier zähle ich immer 30 pro eintrag hinzu.
nun habe ich eine abfrage:
suche zu jedem 30 eintrag an jedem tag einen eintrag in der db. die abfrage dauert zwischen 5 und 10 sekunden.
wie bringe ich es schneller hin?
###########################################
//schleife wird für das ende der ausgabe tab. und zeitrechnung genutzt
for($t=0; $t<20; $t++) {
$caltime = "30"; // zur berechnung der zeit in where
for($l=0; $l<=6; $l++){
// an den wochentag bsp. 10.10.2004 wird der timestempel bsp 30, 60 ect. angehängt
$where =($wochentag[$l].".".$caltime*$t);
$sql="SELECT * FROM $system[TB_DATEN] WHERE id='$where'";
$sql=mysql($system[DB], $sql);
@$nachricht=mysql_result($sql,0,1); //erstellt Nachricht
if($nachricht!="") //wenn Termin vorhanden
echo "";
if($x == $kkkk) {
if($nachricht!="") {
echo "<td bgcolor=\"#FFFFFF\"><a href=\"javascriptpen_nachricht($j,".$nachricht.")\" class=\"anzeige\">";
echo "<a href=\"$nachrichten\">".$nachricht;
echo "</a></td>";
}
//else if($nachricht!="" && $feiertag==$wochentag[$l]) // wenn Feiertag dann
else if (in_array("$wochentag[$l]", $myfeiertag))
{
echo "<td bgcolor=\"#FFCCCC\"><a href=\"javascriptpen_nachricht($j,".$nachricht.")\" class=\"anzeige\">";
echo "<a href=\"$nachriichten\">".$nachricht;
echo "</a></td>";
}else if ($feiertag==$wochentag[$l]){
// }else if ($feiertag[$datum[monatsNamen][$monat]][$yyyy]==$wochentag[$l]){
echo "<td bgcolor=\"#FFCCCC\"> </td>";
}else{
echo "<td bgcolor=\"#CCCCFF\"> </td>";
}
// zeit angeben für den linken tabellenrand
$time = '08:30';
list($h, $m) = split(':', $time);
$d = mktime($h, $m, 0, 1, 1, 1970);
$add = 30;
$zeitteiler = date('H:i', $d + 60 * ($add* $t));
if($l==6 && $t<19) echo "</tr><tr><td><font color=\"#FFFFFF\"><b>$zeitteiler</b></font></td>";
if($l==6 && $t>19) echo "</tr>";
}
ect..................................
###########################################
bin anfänger und für jeden tipp dankbar
Kommentar