kostenloser Webspace werbefrei: lima-city


Brauche dringend Hilfe - Mysql abfragen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage



  3. 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.
  4. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    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."';");
  5. kingcalifornia

    Kostenloser Webspace von kingcalifornia

    kingcalifornia hat kostenlosen Webspace.

    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
  6. thebigsmilexd

    Kostenloser Webspace von thebigsmilexd

    thebigsmilexd hat kostenlosen Webspace.

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

    Beitrag zuletzt geändert: 22.2.2014 21:13:09 von thebigsmilexd
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!