php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.07.2009, 16:57  
Neuer Benutzer
 
Registriert seit: 06.07.2009
Beiträge: 21
PHP-Kenntnisse:
Anfänger
moepmann123 befindet sich auf einem aufstrebenden Ast
Standard DB Ausgabe auch wenn kein Eintrag

Huhu,

stehe zur Zeit wiedermal etwas auf der Leitung.

Ich habe eine Tabelle mit einer immer gleichbleibenden Anzahl von Zeilen (in meinem Fall Stunde 1 bis Stunde 14).
Weiters gibt es Tabellen in welchen die Eintragungen von jeweiligen Stunden gespeichert werden.

Nun versuche ich eine Tagesansicht hinzubekommen, bei welcher alle Stunden aufgelistet werden: Bei den Stunden zu welchen es einen Datensatz gibt sollen die jeweiligen Informationen dabeistehen, Stunden zu welchen kein Datensatz vorhanden ist sollen einfach als Stunde X ohne Informationen ausgegeben werden.

Ca. so:

Stunde1 LehrerX FachX Anmerkungen
Stunde 2
Stunde 3 LehrerY FachY Anmerkungen
Stunde 4 LehrerX FachX Anmerkungen
Stunde 5

Ich will keinen fertigen Code, sondern lediglich einen Denkanstoß um selber versuchen zu können das Ganze dann zu realisieren!

Mfg
moepmann123 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.07.2009, 17:03  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Ich habe eine Tabelle mit einer immer gleichbleibenden Anzahl von Zeilen (in meinem Fall Stunde 1 bis Stunde 14).
Ob das einen Sinn hat? Warum baust du dir nicht eine Schleife, die von 1 bis 24 (wieso eigentlich 14?) zählt und dann benutzt du den aktuellen Wert für deine Datenbankabfrage!

z.B.
Code:
WHERE HOUR(`datum`) = 1
MySQL :: MySQL 5.1 Reference Manual :: 11.6 Date and Time Functions

Dann noch http://dev.mysql.com/doc/refman/5.0/...function_count und fertig (vielleicht)!
Asipak ist offline  
Alt 28.07.2009, 17:04  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.237
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Woran genau scheitert es? Liefert es dir beim Select die Datensätze für Stunde 2 und Stunde 5 nicht zurück? Wenn Ja, folgendes Stichwort für dich "Was ist der Unterschied zwischen INNER JOIN bzw. einfach nur JOIN und einem LEFT OUTER JOIN bzw. einem LEFT JOIN?"

Wenn du die Datensätze zurückbekommst, müsstest du auch in einer Schleife, die du dann durchläufst (vermutlich eine While-Schleife) ja auch was ausgeben können.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online  
Alt 28.07.2009, 17:31  
Neuer Benutzer
 
Registriert seit: 06.07.2009
Beiträge: 21
PHP-Kenntnisse:
Anfänger
moepmann123 befindet sich auf einem aufstrebenden Ast
Standard

Left Join warn seehr guter Tipp :P Frag mich nicht warum ich nicht selber draufgekommen bin

Haut jetzt alles hin soweit, vielen Dank!

//edit: ok, gibt doch noch ein Problem^^

SELECT * FROM (t_stundenzeiten t LEFT JOIN t_unterricht u
ON t.stunde = u.stunde and u.datum = '2009-07-28') left join t_unterrichtdetails un on u.id_unterricht = un.id_unterricht and un.id_klasse = '97';

das on id_klassse = '97' macht noch Probleme..Datum wird richtig ausgewählt, die Tabellen für Klasse 97 werden richtig ausgegeben, trotzdem werden aber auch noch die anderen, für dieses Datum vorhandene, Einträge ausgegeben, jedoch mit leeren Daten der Tabelle t_unterrichtdetails..

// .. iwi klar dass ich die Ausgabe so bekomm ^^ 2tes left join :/

Geändert von moepmann123 (28.07.2009 um 17:38 Uhr).
moepmann123 ist offline  
Alt 28.07.2009, 22:00  
Erfahrener Benutzer
 
Registriert seit: 03.06.2009
Beiträge: 140
PHP-Kenntnisse:
Anfänger
thomasE befindet sich auf einem aufstrebenden Ast
Standard

das liegt an dem zweiten OUTER JOIN (wenn ich jetzt deine Struktur an den Tabellennamen richtig verstehe)

und es könnte sinvoll sein, die zwei Bedingungen in die WHERE-Klausel zu packen, um die Datenmengen in den einzelnen Tabellen schon vor dem JOIN einzuschränken

Code:
SELECT
	*
FROM 
	t_stundenzeiten AS t
LEFT JOIN
	t_unterricht AS u
	ON t.stunde = u.stunde
JOIN
	t_unterrichtdetails AS un
	ON u.id_unterricht = un.id_unterricht
WHERE
	u.datum = '2009-07-28'
	AND un.id_klasse = '97';
ich vermute, so funktioniert es "richtig"


ach ja, Warum soll ich nicht SELECT * schreiben?

thomas
thomasE ist offline  
Alt 28.07.2009, 22:03  
Neuer Benutzer
 
Registriert seit: 06.07.2009
Beiträge: 21
PHP-Kenntnisse:
Anfänger
moepmann123 befindet sich auf einem aufstrebenden Ast
Standard

dank dir, habs mittlerweile schon hinbekommen gehabt

das select * war nur zum testen, wird alles noch geändert
moepmann123 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
2 <form> überschneiden sich... voda HTML, Usability und Barrierefreiheit 16 06.08.2009 11:35
Array eintrag für Eintrag durchgehen und jeweils Feld hinzufügen Stephan_87 PHP Tipps 2009 3 12.02.2009 19:23
Sortierreihenfolge nach Eintrag oder letzter Änderung leuktra Datenbanken 7 29.01.2007 19:20
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
Mysql Eintrag über mehrere Zeielne Eintrag funzt nicht PHP Tipps 2006 3 14.03.2006 19:38
Abfrage aus Datenbank mit Tabellen und Ausgabe in index.php PHP Tipps 2005-2 4 23.10.2005 11:04
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
PHP klappmenü PHP Tipps 2005-2 1 15.10.2005 00:31
Eintrag wird nicht eingetragen (Kontrollfunktion lügt?) PHP Tipps 2005-2 0 02.10.2005 12:00
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
Chat aktualisieren bei neuem eintrag... PHP-Fortgeschrittene 2 24.04.2005 15:11
Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22
Eintrag und Ausgabe funzt nicht!!! HILFE Datenbanken 10 16.08.2004 09:39
[Erledigt] Abfrage ob Eintrag schon in DBbevor Eintrag gespeichert wird Datenbanken 6 06.08.2004 22:10


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