Brauche dringend Hilfe - Mysql abfragen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
aktuelle datum
ausgabe
code
datenbank
datum
ergebnis
explizit gruppen
format
gruppe
idee
leute
mitarbeiter
nebenstelle
ordern
person
stehen
uhr
uhrzeit
zeit
-
Hallo Leute,
ich brauche ganz dringend eure Hilfe.
Im Internet habe ich leider nichts gefunden und mir sind die Ideen ausgegangen.
Undzwar ist in meinem Datenbank folgender Eintrag drinnen:
datum / uhrzeit / nebenstelle / mitarbeiter
22022014 / 12-13 / 1234 / Anton
22022014 / 12-13 / 6789 / Peter
22022014 / 13-14 / 4567 / Hans
14022014 / 12-13 / 1234 / Anton
14022014 / 13-14 / 6789 / Peter
14022014 / 12-13 / 4567 / Hans
Ich möchte nun alles vom Datum "22 02 2014" anzeigen.
Allerdings ist mir wichtig dass die beiden Mitarbeiter Anton und Peter in einer Gruppe angezeigt werden weil sie um die gleiche Uhrzeit drinnen stehen. Andere die in anderen Uhrzeiten drinnen stehen, natürlich dann extra gruppieren.
Ungefähr so:
12-13
- Anton
- Peter
13-14
- Hans
Hat jemand eine Idee?
Beitrag zuletzt geändert: 22.2.2014 2:02:47 von macromedia -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ohne das getestet zu haben könnte das hier funktionieren.
SELECT mitarbeiter FROM table WHERE datum = 22022014 ORDER BY 'uhrzeit';
Das Sortiert die ausgabe, sodass die Mitarbeiter uhrzeitweise ausgegeben werden können, das kann man dann in der Ausgabe gruppieren.
Wie genau willst du die Daten denn weiter verarbeiten?
Wenn du explizit Gruppen haben willst, kannst du auch abfragen welche Uhrzeiten es gibt und diese Einzeln aus der Datenbank holen.
Wenn du im SQL statement noch weiter mit den Gruppen Arbeiten willst könnte GROUP BY das richtige sein. -
Danke das hat mir sehr geholfen.
Zudem noch eine weitere Frage.
datum / uhrzeit / nebenstelle / mitarbeiter
22022014 / 12-13 / 1234 / Anton
22022014 / 12-13 / 6789 / Peter
22022014 / 13-14 / 4567 / Hans
14022014 / 12-13 / 1234 / Anton
14022014 / 13-14 / 6789 / Peter
14022014 / 12-13 / 4567 / Hans
Ich muss nun zählen wie viele Leute um 12-13 Uhr drinnen stehen, undzwar nur vom 22 02 2014.
Ich krieg es irgendwie net hin mit SELECT COUNT(uhrzeit) FROM table WHERE datum='".$heute."';"); -
Wenn das Datum in dem Format in der Tabelle abgespeichert ist, kannst du es mal damit versuchen (habs noch nicht getestet, sollte aber gehen):
SELECT uhrzeit, count(uhrzeit) FROM table WHERE datum = DATE_FORMAT(curdate(), '%e%m%Y') group by uhrzeit;
Das sollte dir die Uhrzeit sowie die Anzahl der Personen zur jeweiligen Uhrzeit zeigen, die für den heutigen Tag in der Datenbank stehen.
curdate() gibt das aktuelle Datum im Format YYYY-MM-DD zurück, über Date_Format können wir das so anpassen, das für heute 22022014 rauskommt.
Wenn du wirklich nur die Personen zur Zeit "12-13" Uhr haben willst, sollte das gehen:
SELECT count(uhrzeit) FROM table WHERE datum = DATE_FORMAT(curdate(), '%e%m%Y') and uhrzeit = "12-13";
Beitrag zuletzt geändert: 22.2.2014 15:33:46 von kingcalifornia -
ich denke
ausgabe("22.02.2014","12-13"); function ausgabe($datum,$zeit) { $datum=str_replace('.','',$datum); //↑um die Punkte aus dem übergebenen Datum zu entfernen $action="SELECT `mitarbeiter` FROM `table` WHERE `datum`=$datum ORDER BY `uhrzeit`"; $ergebnisse=$db->execute($action); $alleerg=$ergebnisse->bind_param("`uhrzeit`","$zeiten"); //entweder $count=count(array(foreach($zeiten==$zeit))); //oder $count=0; while(fetch->$zeiten) {if($zeiten==$zeit)$count++;} if($count==0)print('Kein Ergebnis für den '.$datum.' gegen '.$zeit.' Uhr.'); else print ($count." viele Ergebnisse am ".$datum." gegen ".$zeit." Uhr."); }
dürfte gehen.
Enthält bestimmt Fehlerchen, aber das Grundgerüst dürfte so passen ^^
Beitrag zuletzt geändert: 22.2.2014 21:13:09 von thebigsmilexd -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage