SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.01.2005, 15:54:07
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
Frage zur unnötigen überlasstsung mit einer mysql abfrage

Hi ich stell die Frage mal kurz und knackig. Ich hab einen Kalender programmiert und der zeigt mir die daten von 1 Jahr an. Er überprüft immer ob ein termin an dem tag ist.Wenn ja markiert er den Tag Rot. Das Problem seh ich nur auch wenn alles schnell lädt. Er muss 365 sql abfragen machen kann man das nicht irgendwie noch anders lösen oder ist das nicht schlimm weil da so ein Server lockker aushält?
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #2  
Alt 24.01.2005, 16:08:45
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Du bist ab sofort mein persönlicher Held! Habe noch nie von so vielen Abfragen auf einer Seite gehört... ;)

Meine Idee:
Alle Termine des Jahres Abfragen und dann so:
PHP-Code:
$result=mysql_query('SELECT datum, termin
                     FROM tab
                     WHERE YEAR(datum)=1975'
);
while (
$data=mysql_fetch_assoc($result)) {
    
$tag=Tag_aus_datum($data['datum']);
    
$monat=Monat_aus_datum($data['datum']);
    
$temp[$monat][$tag]=$data['termin'];
}

// Hier die Ausgabe des Kalenders
while (irgendwas) {
    if (isset(
$temp[$monat][$tag])) {
        echo 
$temp[$monat][$tag];
    }

Einleuchtend?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 24.01.2005, 21:40:01
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
also *g*

also falls du mir das nicht glaubts mit den mysql abfragen hier siehst du es

http://verrat.ve.ohost.de/calender

und hier ist nochmal der quellie dazu also ich zeig dir jetzt nur den Forschleifenbereich wo die sql abfrage stattfinden, damit du dich nicht totlesen musst.


PHP-Code:
for($iyz=0$iyz<=3$iyz++){
echo(
"<tr>");

for(
$im=0$im<="2"$im++){
echo(
"<td>");
echo(
"<table border>");



$aktuell=date("n",$startday);

echo(
"<tr>");
echo(
"<td colspan=7>$monat[$imm] </td>");
$imm++;
echo(
"</tr>");

echo(
"<tr>");
echo(
"<td>Mo</td>");
echo(
"<td>Di</td>");
echo(
"<td>Mi</td>");
echo(
"<td>Do</td>");
echo(
"<td>Fr</td>");
echo(
"<td>Sa</td>");
echo(
"<td>So</td>");
echo(
"</tr>");



for(
$i=1$i<= 6$i++){
echo(
"<tr>");
for(
$iw=1$iw<=7$iw++){

$dateformat=date("j"$startday);
$aktueller=date("n",$startday);
$startwochentag=date("w"$startday);
if(
$startwochentag == 0){
$startwochentag=7;
}

if(
$aktueller != $aktuell OR $startwochentag != $iw){
echo(
"<td align=right>&nbsp;</td>");
}else{
$checksql "SELECT * FROM kalender WHERE userid='100' AND DATE_FORMAT(datum, '%d%m%Y')='" date('dmY'$startday) . "'";
$querycheck=mysql_query($checksql);
$num_check=mysql_num_rows($querycheck);
if(
$num_check 0){
echo(
"<td onMouseOver=this.bgColor='#008284' onMouseOut=this.bgColor='#FFFFFF' align=right><a href=edit.php?datum=$startday><b><font color=#FF0000>$dateformat</font></b></a></td>");



}else{
echo(
"<td onMouseOver=this.bgColor='#008284' onMouseOut=this.bgColor='#FFFFFF' align=right><a href=edit.php?datum=$startday>$dateformat</a></td>");
}

$startday=strtotime("+1 day"$startday);
/* ende for Tag */

}  /* ende for Woche */
echo("</tr>");

}  
/* ende for Monat */
echo("</table>");
echo(
"</td>");


/* ende for, Zeigt drei Monate pro Spalte an */
echo("</tr>");

/* ende for Quartal, wechselt nach drei Monaten die Zeile */ 


Werde mir deine Variante mal anschauen. Danke nochmal!
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #4  
Alt 24.01.2005, 21:45:25
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
jo

jo danke hab gerade dein ding da mal gelesen mir ist aber noch ne andere idee eingefallen, der Kalender wird mit Benutzerlogin sein, daher muss ich in meiner sqlabfrage noch die userid einarbeiten usw.

also ich hab mir gedacht

$select="SELECT * FROM kalender WHERE userid='$_SESSION[userid]' and YEAR(datum)='$aktuellesjahr'";

und das ich die ausgelesen werte in ein array packe und das array dann immer durchsuche mit array_search.

Was sagst du dazu und natürlich alle anderen Mitleser.
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #5  
Alt 25.01.2005, 07:22:57
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Nach was suchst Du mit array_search()?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #6  
Alt 25.01.2005, 08:53:59
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
ja ich durchsuche das array nach einen datum.

ja ich durchsuche das array nach einen datum.
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #7  
Alt 25.01.2005, 08:58:23
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Da es vermutlich maximal 365 Einträge sein können, sollte die Performance das ohne weiteres mitmachen, aber unnötig ist es trotzdem.

Was gefällt Dir denn nicht an meinem Vorschlag? Ein isset() ist garantiert flotter als ein array_search()!
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #8  
Alt 25.01.2005, 12:53:35
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
jo gut

jo gut hast recht hab mich auch noch nicht so viel mit isset beschäftigt. Sag mal wie ist das denn welche grenzen hat denn so ein sql server?
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #9  
Alt 25.01.2005, 12:58:30
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Es gibt ein paar technisch bedingte Grenzen. Dateigrößen, adressierbare Bereiche, usw. Das steht irgendwie in den Dokumentationen zum Produkt.

Und wann das Ding unter seiner Last zusammenbricht ist abhängig vom Server/von den Servern, die die Last zu bewältigen haben und von der Konfiguration dieser.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #10  
Alt 25.01.2005, 21:40:46
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
aber

aber jetzt mal erlich diese 365 abfragen sollten doch eigentlich keine wirkliche belasstung darstellen oder?
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:06:05 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt