php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.11.2006, 17:03  
Benutzer
 
Registriert seit: 11.01.2006
Beiträge: 74
cyberholic
cyberholic eine Nachricht über Skype™ schicken
Standard Jahrestag ermitteln

Moin moin,
ich hab mittels einer FOR Schleife einen einen Kalender darstellen lassen,
der 31x12 Kästchen anzeigt. Ergo für alle 12 Monate 31 Kästchen.

Jetzt habe ich mittels einer SQL Abfrage ermittelt, an welchen Tagen
im Jahr ich als User Sport gemacht habe:

Code:
SELECT datum, count(datum) as anzahl
FROM sport1
WHERE datum > '2005-12-31'
AND datum < '2006-12-31'
AND userid =1
GROUP BY datum

UNION
SELECT datum, count(datum) as anzahl2
FROM sport2
WHERE datum > '2005-12-31'
AND datum < '2006-12-31'
AND userid =1
GROUP BY datum

UNION
SELECT datum, count(datum) as anzahl3
FROM sport3
WHERE datum > '2005-12-31'
AND datum < '2006-12-31'
AND userid =1
GROUP BY datum

UNION
SELECT datum, count(datum) as anzahl4
FROM sport4
WHERE datum > '2005-12-31'
AND datum < '2006-12-31'
AND userid =1
GROUP BY datum
ORDER BY datum
Auch das funktioniert - das Feld DATUM ist ein Date Format.

Jetzt suche ich nach Lösungsvorschlägen oder Tips, wie ich
in PHP ihm bei dem eingangs angesprochenem Kalender sagen
kann "In dieses Kästchen das du gerade erstellst bitte ein X
reinschreiben".

Hier mein Ansatz, für den ich mich aber schämen sollte!

Code:
      $tag1="2006-11-04";
      
      for($i=1;$i<=31;$i++){
          if ($tag1 > 0){
            echo "X";
          }
          else {
            echo "";
          }
      };
Meine Idee war es jetzt, ob es eine Möglichkeit gibt, auszurechnen
welcher Tag z.b. der 2006-11-04 war!? Und wenn ja, dann könnte
ich doch via des i's in der FOR Schleife recht simpel ihm die Order
geben er solle das folgende i Xen.... komische Sprache, sorry!
Ich hoffe ihr versteht mich.

Seid herzlichst gegrüsst,

Carlos
cyberholic ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.11.2006, 19:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo, benutz doch zur Selektion von DATE(TIME) Feldern BETWEEN, das ist übersichtlicher:

Code:
SELECT `date`, `text` FROM `calendar` WHERE `date` BETWEEN '2006-01-01' AND '2006-12-31'
(oder)
.. WHERE DATE_FORMAT(`date`, '%Y') = '2006'
PHP-Code:
<?php
$aCalendar 
= array();
while (
$aData $db->fetchAssoc($rRes)) {
  
$aCalendar[$aData['date']][] = $aData['text'];
}
?>
// anzeigen
PHP-Code:
<?php
for ($m 1$m 12$m++) {
  print(
"<hr />$m:<hr />");
  for (
$d 1$dMax date('t'strtotime("2006-$m-1")); $d $dMax$d++) {
    print(
"$d:
"
);
    
$D str_pad($d2'0'STR_PAD_LEFT); // führende Null: 2 => 02
    
$M str_pad($m2'0'STR_PAD_LEFT); // ^^

    
if (is_array($aCalendar["2006-$M-$D"])) {
      for (
$i 0$iMax count($aCalendar["2006-$M-$D"]); $i $iMax$i++) {
        print(
"$i: {$aCalendar["2006-$M-$D"][$i]}
"
);
      }
    } else {
       print(
"[i]empty[/i]");
    }
  }
}
?>
(ungetestet)
Zergling-new ist offline  
Alt 27.11.2006, 16:28  
Benutzer
 
Registriert seit: 11.01.2006
Beiträge: 74
cyberholic
cyberholic eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von Zergling
Hallo, benutz doch zur Selektion von DATE(TIME) Feldern BETWEEN, das ist übersichtlicher:

Code:
SELECT `date`, `text` FROM `calendar` WHERE `date` BETWEEN '2006-01-01' AND '2006-12-31'
(oder)
.. WHERE DATE_FORMAT(`date`, '%Y') = '2006'
PHP-Code:
<?php
$aCalendar 
= array();
while (
$aData $db->fetchAssoc($rRes)) {
  
$aCalendar[$aData['date']][] = $aData['text'];
}
?>
// anzeigen
PHP-Code:
<?php
for ($m 1$m 12$m++) {
  print(
"<hr />$m:<hr />");
  for (
$d 1$dMax date('t'strtotime("2006-$m-1")); $d $dMax$d++) {
    print(
"$d:
"
);
    
$D str_pad($d2'0'STR_PAD_LEFT); // führende Null: 2 => 02
    
$M str_pad($m2'0'STR_PAD_LEFT); // ^^

    
if (is_array($aCalendar["2006-$M-$D"])) {
      for (
$i 0$iMax count($aCalendar["2006-$M-$D"]); $i $iMax$i++) {
        print(
"$i: {$aCalendar["2006-$M-$D"][$i]}
"
);
      }
    } else {
       print(
"[i]empty[/i]");
    }
  }
}
?>
(ungetestet)
Danke Zergling!
Wenn ich den unteren Bereich ohne den oberen Code einbaue, erstellt er mir die 12 Monate mit den jeweiligen Tagen. Und natürlich den Empties, da er den aCalendar Array ja gar nicht hat.
Baue ich den oberen Code mit ein, dann funktioniert gar nix; also dann zeigt er mir nur eine weisse Seite an.

Ich begreife die While Schleife nicht so ganz. Wozu steht in diesem Fall der
Arraywert 'date' und daneben 'text' ?
Sind das die Feldnamen der Tabelle?

Danke nochmal und herzlichen Gruss,
Carlos
cyberholic ist offline  
Alt 27.11.2006, 17:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Naja also die Lösung schreib ich dir jetzt nicht hin, zumal es sie ja schon fast ist.
Zergling-new ist offline  
Alt 17.12.2006, 12:50  
Benutzer
 
Registriert seit: 11.01.2006
Beiträge: 74
cyberholic
cyberholic eine Nachricht über Skype™ schicken
Standard

Danke Dir nochmals! Werde mich ransetzen und das ganze anpassen!
Einen schönen Sonntag noch!
cyberholic ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einzeltreffer von MATCH ... AGAINST ... ermitteln proud Datenbanken 3 09.05.2008 08:31
Google Adwords - echten Referer ermitteln NetLook PHP Tipps 2006 2 12.05.2006 08:40
Die Position ein. Datensätzes aus einer Datenliste ermitteln Locutus007 Datenbanken 8 07.03.2006 16:59
Dateiname, Dateigröße ermitteln HTML, Usability und Barrierefreiheit 5 29.01.2006 22:16
URL ermitteln Mutatos PHP Tipps 2005-2 7 08.10.2005 18:05
Besuchercomputer-Informationen ermitteln SvenLittkowski PHP Tipps 2005-2 3 26.09.2005 20:40
Computername ermitteln PHP Tipps 2005-2 8 15.09.2005 13:14
IP ermitteln FireFIghter PHP Tipps 2005-2 2 14.09.2005 14:28
build nummer des bs ermitteln ... nur bei microsoft's bs!!! PHP Tipps 2005-2 2 24.07.2005 15:59
Besucher mit den meisten GB Einträgen ermitteln! Datenbanken 7 21.04.2005 12:09
Bildschirmauflösung ermitteln? Pimbolie1979 HTML, Usability und Barrierefreiheit 13 16.01.2005 01:28
pixelbreite eines Wort ermitteln... 18inch PHP Tipps 2005 5 07.01.2005 22:55
CRC Summe einer Datei ermitteln?? PHP Tipps 2004 1 14.10.2004 09:23
[Erledigt] Tabellenname eines Feldes ermitteln PHP-Fortgeschrittene 3 22.09.2004 15:49
Referrer ermitteln? PHP Tipps 2004 8 13.09.2004 13:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
anzahl jahrestage, jahrestag ermitteln, php jahrestag, datum jahrestag, anzahl der jahrestage, jahrestag php, jahrestag datum, jahrestag tabelle, welcher jahrestag entspricht dem datum, datum , jahrestag, php datum jahrestag, sql jahrestag, php jahrestage, php date jahrestag, jahrestage ermitteln, datum zu jahrestag, datum in jahrestag, jahrestag gbs, jahrestag gb, jahrestage anzahl

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.