Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.01.12
Prihlásený: 15.07.17
Príspevky: 18
Témy: 7
Príspevok NapísalOffline : 19.10.2015 22:40

prosim vas ked chcem spravit select dochadzky zamestnanca z databazy, napr v polke mesiaca a chcem aby mi zobrazilo zvysne dni ktore este neboli odpracovane ako prazdne polia v tabulke... ako na to?
mam toto :
Kód:
<?php
      session_start();
      $emp_id = $_SESSION['emp_id'];


      $sql = 'SELECT
                     e.emp_id, hours,
                     UNIX_TIMESTAMP(first_join) AS first_join,
                     UNIX_TIMESTAMP(last_join) AS last_join,
                     UNIX_TIMESTAMP(lunch_start) AS lunch_start,
                     UNIX_TIMESTAMP(lunch_stop) AS lunch_stop,
                     UNIX_TIMESTAMP(doc_go) AS doc_go,
                     UNIX_TIMESTAMP(doc_come) AS doc_come
                  FROM
                     emp e JOIN
                     emp_hours h ON e.emp_id = h.emp_id
                  WHERE
                     e.emp_id ="'. $emp_id. '"';
      $result = mysql_query($sql, $db) or die(mysql_error($db));
      
      while ($row = mysql_fetch_array($result)){
         extract($row);
         
            echo '<tr><td>';
            echo date('d', $first_join). '</td><td>';
            echo date('D', $first_join). '</td><td>';
            echo date('H:i:s', $first_join). '</td><td>';
            echo date('H:i:s', $lunch_start). '</td><td>';
            echo date('H:i:s', $lunch_stop). '</td><td>';
            echo date('H:i:s', $doc_go). '</td><td>';
            echo date('H:i:s', $doc_come). '</td><td>';
            echo date('H:i:s', $last_join). '</td><td>';
            echo $hours. '</td></tr>';
        }
      
         mysql_free_result($result);                     
      ?>


Offline

Správca fóra
Správca fóra
php dochadzkovy system

Registrovaný: 08.08.09
Príspevky: 12449
Témy: 39
Príspevok NapísalOffline : 19.10.2015 22:53

Neviem či som to správne pochopil, ale možností máš v zásade niekoľko.
Poznáš mesiac, pre ktorý vypisuješ dochádzku, vieš si zistiť koľko dní (pracovných?) je v danom mesiaci?
Môžeš teda použiť namiesto while cyklus for s počtom opakovaní nastaveným na počet dní. Takže iterátor bude zároveň index poľa výsledkov z databázy pre každý deň (prázdny "riadok" v databáze = prázdny riadok v tabuľke).
Odporúčanie na záver: Nepoužívať mysql_ funkcie, ošetriť vstup, aspoň prachsprostým explicitným pretypovaním na int.







_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.01.12
Prihlásený: 15.07.17
Príspevky: 18
Témy: 7
Príspevok Napísal autor témyOffline : 19.10.2015 23:04

zatial som neriesil kolko ma mesiac dni dal som do cyklu for 31. skusil som toto:
Kód:
session_start();
      $emp_id = $_SESSION['emp_id'];
      $sql = 'SELECT
                     e.emp_id, hours,
                     UNIX_TIMESTAMP(first_join) AS first_join,
                     UNIX_TIMESTAMP(last_join) AS last_join,
                     UNIX_TIMESTAMP(lunch_start) AS lunch_start,
                     UNIX_TIMESTAMP(lunch_stop) AS lunch_stop,
                     UNIX_TIMESTAMP(doc_go) AS doc_go,
                     UNIX_TIMESTAMP(doc_come) AS doc_come
                  FROM
                     emp e JOIN
                     emp_hours h ON e.emp_id = h.emp_id
                  WHERE
                     e.emp_id ="'. $emp_id. '"';
      $result = mysql_query($sql, $db) or die(mysql_error($db));
      for ($i = 1; $i <= 31; $i++){
      $row = mysql_fetch_array($result);
         extract($row);
          if (date('d', $first_join) == $i){
            echo '<tr><td>';
            echo date('d', $first_join). '</td><td>';
            echo date('D', $first_join). '</td><td>';
            echo date('H:i:s', $first_join). '</td><td>';
            echo date('H:i:s', $lunch_start). '</td><td>';
            echo date('H:i:s', $lunch_stop). '</td><td>';
            echo date('H:i:s', $doc_go). '</td><td>';
            echo date('H:i:s', $doc_come). '</td><td>';
            echo date('H:i:s', $last_join). '</td><td>';
            echo $hours. '</td></tr>';
        } else {
           echo '<tr><td>';
            echo date('d', $i). '</td><td>';
            echo '-'. '</td><td>';
            echo '-'. '</td><td>';
            echo '-'. '</td><td>';
            echo '-'. '</td><td>';
            echo '-'. '</td><td>';
            echo '-'. '</td><td>';
            echo '-'. '</td><td>';
            echo '-'. '</td></tr>';
        }
        }

ked tam nemam while tak mi to 17x hodi prazdny riadok a potom nacita len jeden. preco neodporucas pouzivat funkcie mysql?

// Spojený príspevok Pon 19.10.15 23:05

porovnaval som tam cislo dna prichodu s premennou $i z cyklu.


Naposledy upravil killer dňa 19.10.2015 23:08, celkovo upravené 1
Kód dávaj do [code]!


Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Dochadzkovy system (systemik)

v Ostatné programy

0

723

27.08.2011 10:44

eiger33 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Php systém

v Redakčné systémy

1

664

03.02.2011 19:35

Bajzik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP Login system

v PHP, ASP

5

668

25.04.2011 11:47

TommyHot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Redakčný systém PHP-Fusion

v Redakčné systémy

12

1010

04.11.2007 20:26

xFERKOx Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP a Informačný systém

v PHP, ASP

8

486

24.04.2016 23:24

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP programátor - PHP, MySQL, jQuery,X)Html/CSS

v Ponuka práce

0

1308

02.05.2011 12:08

magicmedia Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vytvorenie suboru php a vlozenie php scriptu

v PHP, ASP

4

1439

07.05.2010 14:02

DeiForm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP nevie precitat .PHP

v PHP, ASP

8

830

18.03.2011 19:21

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php ->mysql ->php Help.zoradit

v PHP, ASP

4

593

20.06.2009 12:44

KViki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. $pcforum->getForumActivity('PHP, ASP', 2012)/$pcforum->getForumActivity('PHP, ASP', 2022) - Warning: Division by zero

v PHP, ASP

4

2293

20.05.2022 13:51

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. System

v PHP, ASP

0

813

18.11.2007 12:48

DADDY Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. system

v Operačné systémy Microsoft

4

709

19.01.2009 15:32

crawn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Redakčný systém

v Redakčné systémy

5

856

13.06.2007 23:02

majdo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kamerový systém

v Externé zariadenia

1

356

27.09.2015 14:33

Daron Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. System Devices

v Ostatné

1

474

16.03.2010 17:01

f4r0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomaly system

v Operačné systémy Microsoft

1

384

28.01.2012 20:55

F3RY Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra