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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 08.06.2009, 17:48:21
iamgodx iamgodx ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 20
Hilfe bei Abfrage...

Hi,
ich habe ein kleines Problem mit einer Abfrage.
Ich möchte gerne eine Abfrage auf meine Datenbank loslassen, die mir eine komplette Userliste aller user (die in usergroup 1 & 7 sind) ausgibt.
Dabei soll jeweils ein bestimmtes Datum berücksichtigt werden und für jeden User angegeben sein, ob er sich abgemeldet hat oder nicht (z.b mit 0/1)

Tabellen sehen so aus:
users(userid, name, usergroup,...)
abmeldungen(userid, datum)

Meldet sich einer der User ab, wird das Datum für welches er sich abgemeldet hat und seine userid in die abmeldungen Tabelle eingetragen.

Bisher sieht meine Abfrage so aus:
Code:
SELECT us.user_name, us.user_id, ta.datum, ta.abgemeldet from users us
LEFT JOIN abmeldungen ta ON us.user_id = ta.userid
WHERE `user_groups` LIKE '%.1%' AND `user_groups` LIKE '%.7%'
ORDER BY `us`.`user_name`
Problem ist jetzt, dass auf das Datum für das er sich abgemeldet hat (noch) keine Rücksicht genommen wurde( AND datum = '090612' funktioniert leider nicht, da dann NUR noch die user ausgegeben werden, die sich für dieses Datum abgemeldet haben und nicht ALLE) und ich später beim ergebnis der abfrage ja noch ein zusätzliches Feld brauche das entweder eine 1 für abgemeldet oder eine 0 für nicht abgemeldet enthält...

Code:
sollte dann etwa so aussehen für Datum=1234
|username|ist_abgemeldet|
|username1|0|
|username2|0|
|username3|1|
|username4|0|
.....
Mit Zitat antworten
  #2  
Alt 09.06.2009, 07:54:54
krido krido ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 64
Beiträge: 17
AW: Hilfe bei Abfrage...

Hallo iamgodx,

welcher Datentyp ist denn ta.datum?
Bei Datümern wird ja meist das Standardformat JJJJ-MM-TT verwendet.
Vielleicht hilft ja schon AND datum = '2009-06-12'!?
__________________
Gruß Krido


http://www.finitmat.de
Mit Zitat antworten
  #3  
Alt 09.06.2009, 08:25:27
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Hilfe bei Abfrage...

Hallo iamgodx,

tut mir leid nachfragen zu müssen, aber wie genau soll deine gewünschte Ergebnismenge aussehen?

du willst alle User die ... was?
  • Die in der Usergruppe 1 und 7 sind. (könnte man glaube ich auch mit dem Schlüsselwort IN() lösen)
  • Die sich an einem bestimmten Datum abgemeldet haben?
  • Die sich an einem bestimmten Datum abgemeldet haben UND alle nicht abgemeldeten?

Ich verstehe leider nicht was dir am Ergebnis deines Statements nicht gefällt ( ;
Möchtest du mehrere Daten abfragen? VON , BIS? Ab Datum x oder davor?
Mit Zitat antworten
  #4  
Alt 09.06.2009, 11:09:16
iamgodx iamgodx ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 20
AW: Hilfe bei Abfrage...

Hi,
genau, so wie Indyk es beschrieben hat soll die Ergebnismenge ausschauen ;)

Eine Liste ALLER user, die in Gruppe 1 und Gruppe 7 sind.
Dabei soll auf ein bestimmtes Datum abgefragt werden können.
Außerdem soll angezeigt werden, ob sich der User für dieses Datum abgemeldet hat oder nicht. (aber eben immer ALLE Benutzer angezeigt sein)

Das Format ist einfach die Unix-time ;) - und alle Abfragen funktionieren einzeln auch - nur das Zusammenspiel nicht ;)

Die Abfrage oben nimmt ja keine Rücksicht auf das Datum!
Wenn ich aber zusätzlich noch AND datum=xxx einbaue, wird die userliste nicht mehr komplett ausgegeben, sondern nur noch die user, die auch einen eintrag in der abgemeldet-Tabelle haben... (und da da nicht alle einen Eintrag haben, sondern nur die abgemeldeten kann ich so keine komplette Userliste mehr ausgeben)

Vielleicht wirds mit dem Zweck der Tabellen verständlicher ;)
Soll am Schluss mal eine Vereinsverwaltung werden - Jeder der nicht zum Training kommen kann, soll sich übers web abmelden können("Ich kann am 10.6.09 nicht inst Training kommen")
Jeder kann sehen wer sich abgemeldet hat und wie viele noch ins training kommen werden. Dazu werden die Namen der Mitglieder dann entweder rot oder grün eingefärbt...
So kann unsere Trainerin auf der ersten Blick sehen wie viele kommen werden... ("Heute kommen nur 2 Leute, wir trainieren nicht, da gehn wir lieber n Bier trinken..."

Geändert von iamgodx (09.06.2009 um 11:11:12 Uhr)
Mit Zitat antworten
  #5  
Alt 09.06.2009, 11:16:44
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Hilfe bei Abfrage...

Jetzt habe ich das Problem verstanden.

Hast du schonmal einen LEFT JOIN aufs datum probiert? Dein JOIN auf die Mitglieder .. kommt mir unangebracht vor da diese sich ja mehrmals abgemeldet haben könnten. Du willst ja nicht die tage wissen an denen sich jemand abgemeldet hat, sondern du willst wissen wer sich am tag x abgemeldet hat

Beispiel
Code:
LEFT JOIN abmeldungen ta ON (ta.datum = '09.06.2009')
ungetestet

Das es in timestamp ist macht ja nix, da gibt es ja genug SQL Funktionen um das hin und her zu convertieren.
Mit Zitat antworten
  #6  
Alt 09.06.2009, 11:26:10
iamgodx iamgodx ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 20
AW: Hilfe bei Abfrage...

Code:
SELECT us.user_name, us.user_id, ta.datum, ta.abgemeldet
FROM fusion_users us
LEFT JOIN fusion_trainingsabmeldung ta ON ta.datum =1246226400
WHERE `user_groups` LIKE '%.1%'
AND `user_groups` LIKE '%.7%'
ORDER BY `us`.`user_name`
LIMIT 0 , 30
Meinst du diesen hier?!

Damit stimmt das Ergebnis aber auch nicht.....
Es werden zwar alle user angezeigt, aber hinter jedem user steht dann das gewünschte Datum und in der abgemeldet spalte eine 1, egal ob wirklich ein Eintrag da war oder nicht...


(Die spalte abgemeldet hab ich euch vorhin unterschlagen ;) - steht in fusion_trainingsabmeldung - dort wird beim abmelden eine 1 eingetragen)
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe zu Abfrage MWeltring MySQLi/PDO/(MySQL) 0 02.03.2009 09:07:03
Abfrage funktionierte gestern noch, brauche Hilfe!! Lins56 PHP Grundlagen 2 18.10.2007 18:17:39
If abfrage hilfe DelphiDell PHP Grundlagen 2 17.05.2005 01:36:42
Problem mit einer Abfrage für eine Suchoption. Bitte um schnelle Hilfe!!! Fabian85 MySQLi/PDO/(MySQL) 1 21.04.2004 16:12:13
Benötige Hilfe für dyn. Abfrage mittles PHP Trialrider PHP für Fortgeschrittene und Experten 70 09.10.2003 10:08:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:40:20 Uhr.


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


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