php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.07.2011, 13:14  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

In deinem Fall sind die Daten auf 2 Tabellen aufgeteilt, und du musst sie dir erstmal zusammensuchen (i.e. JOINen). Bei der Darstellung der Daten kommt dann ein Gruppenbruchverfahren zum Einsatz.

Also:
- Selektiere 'user'
- joine 'urlaub' über 'urlaub.user_id = user.id'
- sortiere das Ergebnis nach 'user_id'

Im Ergebnis stehen dann alle Urlaubstermine eines Benutzers hintereinander (innerhalb eines Benutzers allerdings unsortiert, d.h. es wurde nicht noch nach 'von' oder 'bis' sortiert).

Für jeden Datensatz des aktuellen Users (untersucht werden die hinzugejointen Felder 'von' und 'bis', aber der Gruppenbruch ist nach dem User ausgerichtet) kannst du die Übersicht des aktuellen Monats befüllen, den du anzeigen lassen willst. D.h. du schaust in jeden Datensatz, für jeden Datensatz durchläufst du die "Monatsschleife" und prüfst, ob aktueller Tag >= von bzw. aktuellerTag <= bis ist. Sofern beides zutrifft, darfst du ein Kreuzchen machen.

Schematisch:
Code:
SELECT ... FROM users
INNER JOIN urlaub
ON users.ID = urlaub.user_ID
// hier kann noch eine Einschränkung gemacht werden, so das nur Termine gefunden werden, wo 'von' bzw. 'bis' innerhalb des darzustellenden Monats ist...

$lastUserId = null; // für den Gruppenbruch
while ($row = fetch_assoc()) {
  if ($lastUserId != $row['user_id']) { // hier beginnt der Gruppenbruch
    // hier beginnt eine neue Zeile mit dem Namen des Users
    // dann kommen die Spalten, für jeden Tag des Monats eine
    for($t = 1; $t < 31; $t++) { // Monatsschleife für den aktuell anzuzeigenden Monat.. verbesserungswürdig
      // Liegt der aktuelle Tag ($t.7.2001, für $t >= 1 && $t <=31) zwischen von und bis?
      if (mktime(0, 0, 0, 7, $t, 2011) >= $row['von'] && mktime(...) <= $row['bis'])
        echo 'X'; // Kreuzchen machen
    }
  }
  $lastUserId = $row['user_id'];
}
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Antwort


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
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Datenbankabfrage mit variablen select-Auswahlfeldern tinchen PHP Tipps 2006 1 11.04.2006 10:40
Problem bei Datenbankabfrage PHP Tipps 2006 3 19.03.2006 18:48
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
problem bei distinct datenbankabfrage... Promaetheus Datenbanken 2 25.01.2006 17:28
[Erledigt] suche Lösung für logisches Problem bei Datenbankabfrage Datenbanken 10 25.01.2006 13:28
[Erledigt] Problem mit komplexer Datenbankabfrage Datenbanken 3 23.12.2005 22:02
[Erledigt] Problem mit Datenbankabfrage Datenbanken 3 09.12.2005 20:03
Problem bei Datenbankabfrage PHP Tipps 2005-2 10 17.10.2005 14:55
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit einer Datenbankabfrage Borlox PHP Tipps 2004 3 19.09.2004 20:23
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php urlaubskalender, javascript urlaubskalender, ajax urlaubskalender, ajax urlaubskalendar, 2 datenbankabfragen auf einer seite php

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:47 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