[ 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 | 7
NapísalOffline : 19.10.2015 22:40 | php dochadzkovy system

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: 12446
Témy: 38 | 38
NapísalOffline : 19.10.2015 22:53 | php dochadzkovy system

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 | 7
Napísal autor témyOffline : 19.10.2015 23:04 | php dochadzkovy system

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]!


 [ Príspevkov: 3 ] 


php dochadzkovy system



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

796

27.08.2011 10:44

eiger33

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

Php systém

v CMS

1

874

03.02.2011 19:35

Bajzik

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

PHP Login system

v Backend

5

751

25.04.2011 11:47

TommyHot

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

PHP a Informačný systém

v Backend

8

559

24.04.2016 23:24

walther

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

Redakčný systém PHP-Fusion

v CMS

12

1213

04.11.2007 20:26

xFERKOx

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

PHP programátor - PHP, MySQL, jQuery,X)Html/CSS

v Ponuka a dopyt práce

0

1434

02.05.2011 12:08

magicmedia

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

Vytvorenie suboru php a vlozenie php scriptu

v Backend

4

1528

07.05.2010 14:02

DeiForm

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

PHP nevie precitat .PHP

v Backend

8

916

18.03.2011 19:21

camo

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

php ->mysql ->php Help.zoradit

v Backend

4

700

20.06.2009 12:44

KViki

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 Backend

4

3037

20.05.2022 13:51

JanoF

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

system

v Windows

4

874

19.01.2009 15:32

crawn

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

System

v Backend

0

989

18.11.2007 12:48

DADDY

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

ICQ system ?

v Sieťové programy

21

1363

04.07.2008 23:49

KingTommy

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

redakcny system

v CMS

6

898

20.10.2007 10:05

mokus

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

System Devices

v Ostatné

1

601

16.03.2010 17:01

f4r0

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

nestabilny system

v Ostatné

2

590

23.12.2008 21:10

Roberbo



© 2005 - 2026 PCforum, edited by JanoF