php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.11.2009, 15:52  
Neuer Benutzer
 
Registriert seit: 02.11.2009
Beiträge: 10
PHP-Kenntnisse:
Fortgeschritten
linus-johannes befindet sich auf einem aufstrebenden Ast
Standard Teilnahmeverzeichnis/Dienstplan.

Ich plane ein Teilnahmeverzeichnis/Dienstplan.

Also Sportler können sich an Kursen anmelden, Kursleiter ebenso.
Das ganze wird natürlich in eine mySQL DB geschrieben.
Am Ende habe ich also Kurse mit x Teilnehmern und y Kursleitern.

So nun meine Frage wie stelle ich das in eine Tabelle dar.
Die Abfrage muß natürlich so sein das ich jeden Tag abfrage auch die die frei sind.

Und genau da hakt es gerade bei mir, denn noch weiß ich nicht wieviele dabei sind......

Also ich habe z.b. einen Kurs mit unbekannten Teilnehmern. Die Teilnehmer melden sich an und es wird ein Datensatz erzeugt für jeden Tag an dem Sie da sind.
Dies will ich in einer Monatsansicht darstellen. Also wer ist an welchen Tag in welchem Kurs. Bsp.

-...............................Yoga............... ..Tennis
Datum..................Früh......Spät........Frà ¼h..-...Spät
1.Nov.2009...........Müller.....Schmitz...Meier.. ..Schulz
2.Nov.2009...........Schulz....Schmitz...Müller.. ..Meier
3. Nov.2009..........Schmitz...Müller.....Meier..... Schulz

In diesem Beispiel kann ich genau abfragen, da ich eine genaue Anzahl von Kursen habe mit genau zwei geforderten Werten(Früh und spät).Soweit so gut. Nun melden sich aber unterschiedlich viele in den unterschiedlichen Kursen an. Bsp.


..................Yoga...................Tennis
Datum......Früh..........Spät.......Früh......S pät
............1....2....3....1..2..3....1..2..3....1 ..2..3....
1.Nov.....MÜ.SE.OD..SE.EL.-...RE.KL.-....PZ.TR.-
2.Nov.....Su.EL..-......-...-..-....KH.LK.-....OD.-..-
3. Nov....Uw.KO.LP...Lo.-..-....KH.OD.EL...-..-..-

Hier kommen wir zu meinem Problem, ich weiß nicht wie viele Teilnehmer in den Kursen sind.

Hier meine bisherigen Versuche, die Abfrage kurz zur Erklärung,. ich weiß nicht wecher Monat angezeigt werden muß werde also mit php das Datum (Anfang und Ende) dynamisch setzen.
Der outer Join geht nun also jeden Tag des Zeitraumes durch und erwischt so jeden Tag, egal ob es Einträge gibt oder nicht. Mit dem Teil , (case when TnNr !='' then Name else ''End) as tn experimentiere ich gerade, das ist zumindest der variable Teil, auch den könnte ich mit php um die Anzahl der Teilnehmer erweitern.


select days.dt, (case when TnNr !='' then Name else ''End) as tn
from www a right Outer Join
(select DATE_ADD('2009-09-01',interval(einer.num + zehner.num )DAY)dt
from (
SeLECT 0 num UNION ALL
SeLECT 1 num UNION ALL
SeLECT 2 num UNION ALL
SeLECT 3 num UNION ALL
SeLECT 4 num UNION ALL
SeLECT 5 num UNION ALL
SeLECT 6 num UNION ALL
SeLECT 7 num UNION ALL
SeLECT 8 num UNION ALL
SeLECT 9 num )einer
CROSS JOIN
(SeLECT 0 num UNION ALL
SeLECT 10 num UNION ALL
SeLECT 20 num UNION ALL
SeLECT 30 num )zehner
WHERE DATE_ADD('2009-09-01',interval(einer.num + zehner.num )DAY)
< '2009-10-01')days on days.dt = a.datum
group by days.dt;


Und da ist genau meine Frage, kann man das nicht besser hinbekommen?
Denn ich muß ja auch mit php die Strukturen der Tabelle dynamisch hinbekommen. In diesem Fall könnten die Spalten Yoga und Tennis Spät ja auch nur 2 Spalten umfassen.
linus-johannes ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.11.2009, 16:02  
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

Zitat:
Ok, verstehe.
Eigentlich wollte ich Euch nicht langweilen…

Also ich habe z.b. einen Kurs mit unbekannten Teilnehmern. Die Teilnehmer melden sich an und es wird ein Datensatz erzeugt für jeden Tag an dem Sie da sind.
Dies will ich in einer Monatsansicht darstellen. Also wer ist an welchen Tag in welchem Kurs. Bsp.

-...............................Yoga............... ..Tennis
1.Nov.2009...........Müller.....Schmitz...Meier.. ..Schulz
2.Nov.2009...........Schulz....Schmitz...Müller.. ..Meier
3. Nov.2009..........Schmitz...Müller.....Meier..... Schulz

In diesem Beispiel kann ich genau abfragen, da ich eine genaue Anzahl von Kursen habe mit genau zwei geforderten Werten(Früh und spät).Soweit so gut. Nun melden sich aber unterschiedlich viele in den unterschiedlichen Kursen an. Bsp.


..................Yoga...................Tennis
Datum......Früh..........Spät.......Früh......S pät
............1....2....3....1..2..3....1..2..3....1 ..2..3....
1.Nov.....MÜ.SE.OD..SE.EL.-...RE.KL.-....PZ.TR.-
2.Nov.....Su.EL..-......-...-..-....KH.LK.-....OD.-..-
3. Nov....Uw.KO.LP...Lo.-..-....KH.OD.EL...-..-..-

Hier kommen wir zu meinem Problem, ich weiß nicht wie viele Teilnehmer in den Kursen sind.

Hier meine bisherigen Versuche, die Abfrage kurz zur Erklärung,. ich weiß nicht wecher Monat angezeigt werden muß werde also mit php das Datum (Anfang und Ende) dynamisch setzen.
Der outer Join geht nun also jeden Tag des Zeitraumes durch und erwischt so jeden Tag, egal ob es Einträge gibt oder nicht. Mit dem Teil , (case when TnNr !='' then Name else ''End) as tn experimentiere ich gerade, das ist zumindest der variable Teil, auch den könnte ich mit php um die Anzahl der Teilnehmer erweitern.


select days.dt, (case when TnNr !='' then Name else ''End) as tn
from www a right Outer Join
(select DATE_ADD('2009-09-01',interval(einer.num + zehner.num )DAY)dt
from (
SeLECT 0 num UNION ALL
SeLECT 1 num UNION ALL
SeLECT 2 num UNION ALL
SeLECT 3 num UNION ALL
SeLECT 4 num UNION ALL
SeLECT 5 num UNION ALL
SeLECT 6 num UNION ALL
SeLECT 7 num UNION ALL
SeLECT 8 num UNION ALL
SeLECT 9 num )einer
CROSS JOIN
(SeLECT 0 num UNION ALL
SeLECT 10 num UNION ALL
SeLECT 20 num UNION ALL
SeLECT 30 num )zehner
WHERE DATE_ADD('2009-09-01',interval(einer.num + zehner.num )DAY)
< '2009-10-01')days on days.dt = a.datum
group by days.dt;


Und da ist genau meine Frage, kann man das nicht besser hinbekommen?
Denn ich muß ja auch mit php die Strukturen der Tabelle dynamisch hinbekommen. In diesem Fall könnten die Spalten Yoga und Tennis Spät ja auch nur 2 Spalten umfassen.
naja, er hat Recht.. ich hab versucht, die Textdatei zu quoten.. einmal stellt das Forum alles dar (inkl. fehlerhafter Zeichen), ein anderes mal wird der Text abgeschnitten
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

Geändert von lstegelitz (03.11.2009 um 16:06 Uhr).
lstegelitz ist offline  
Alt 03.11.2009, 16:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Danke, lstegelitz.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dienstplan, dienstplan php, dienstplan online php, vereinsplaner, php dienstplaner, php tabelle dienstplan, dienstplaner php, php dienstplan online, monatsansicht php liste, dienstplan mit php, dienstplan online, dienstplan.php, teilnahme-verzeichnis, php-dienstplan, pz im dienstplan, pz dienstplan, db dienstplan mitarbeiter, http://www.php.de/php-einsteiger/60815-teilnahmeverzeichnis-dienstplan.html, ajax dienstplan, software für dienstplan php

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