如何在整年的列中显示工作日 [英] how to show weekdays in column for whole year

查看:87
本文介绍了如何在整年的列中显示工作日的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨!

我已经制作了日历,想以适当的形式在列中显示工作日.
我该怎么做?我知道将星期一定为我的第一个工作日...但无法弄清楚如何将星期一定为第一天.

此代码输出输出

Hi!

I have made calender I want to show weekdays in a proper form in a column.
How I can do that? I know making monday as my first weekday ...but can''t figure out how to make Monday as first day.

this code output OUTPUT

<table >
<?php
$host = "localhost"; //database location
$user = "root"; //database username
$pass = ""; //database password
$db_name = "zzzzzzzzz"; //database name
//database connection
$link = mysql_connect($host, $user, $pass);
mysql_select_db($db_name);
 $weeksql ="SELECT
hs_hr_weekends.length,
hs_hr_weekends.day
FROM
hs_hr_weekends
";
$weekresult = mysql_query($weeksql);
while ($weekrow = mysql_fetch_array($weekresult)) {
     $weekday = $weekrow[''day''];
     $weekstat = $weekrow[''length''];
     $weedays = array(''weekday'' => $weekday,''weekstat'' => $weekstat);
}
?>
<table >
<?php
$cYear =2011;
$sql ="SELECT
hs_hr_leave.leave_date,
hs_hr_leave.leave_status,
hs_hr_leave.leave_comments,
hs_hr_leavetype.leave_color,
hs_hr_compstructtree.title
FROM
hs_hr_leave
INNER JOIN hs_hr_leavetype ON hs_hr_leave.leave_type_id = hs_hr_leavetype.leave_type_id
INNER JOIN hs_hr_compstructtree ON hs_hr_compstructtree.id = hs_hr_leave.emp_depment
WHERE
hs_hr_leave.employee_id = 1";

$rest = mysql_query($sql);
if(mysql_num_rows($rest) <=0){
?>
<tr>
<td><b>No Records to Display !</b></td>
</tr>
</table>
<?php
}else
{
while ($row = mysql_fetch_array($rest)) {
    $leave_status    = $row[''leave_status''];
    $leave_comments  = $row[''leave_comments''];
    $leave_color     = $row[''leave_color''];
    $dep_title        = $row[''title''];
    $dbD = date("d", strtotime($row[''leave_date'']));
    $dbM = date("m", strtotime($row[''leave_date'']));
    $dbY = date("Y", strtotime($row[''leave_date'']));
    $dbuser = date("Y-m-d", mktime(0, 0, 0, $dbM, $dbD, $dbY));
    $userDates[$dbuser] = array(''comments'' => $leave_comments, ''status'' => $leave_status,''color'' => $leave_color,''title'' => $dep_title);
}
$Months = array(1, 2, 3, 4,5,6,7,8,9,10,11,12);
$monthNames = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
foreach($Months as $M) { ?>
<tr>
<td width="18%" colspan="2"><strong><?php echo $monthNames[$M-1]; ?></strong></td>
<td width="12%" colspan="2"><strong><?php echo $userDates[$dbuser][''title''] ?></strong></td>
<?php
    $num = cal_days_in_month(CAL_GREGORIAN, $M, $cYear); // 31
    $arrydats = array_fill (0,$num,"");
    $i=0;
                foreach($arrydats as $d)
                {
                    $i++;
                    $dates = date("Y-m-d", mktime(0, 0, 0, $M,$i, $cYear));
                    $checkdate = strtotime($dates);
                     $Numdays = date("N", strtotime($dates));
                                 if(isset($userDates[$dates]))
                                {
                                    if($userDates[$dates][''status''] == -1)
                                        { echo "<td  width=''26'' title=''";echo $userDates[$dates][''comments'']; echo "'' height=''20px'' bgcolor=''#"; echo $userDates[$dates][''color'']; echo "'' align=''center'' valign=''middle'' >R</td>"; }
                                    elseif ($userDates[$dates][''status''] == 0 )
                                        { echo "<td  width=''26'' title=''";echo $userDates[$dates][''comments'']; echo "'' height=''20px'' bgcolor=''#"; echo $userDates[$dates][''color'']; echo "'' align=''center'' valign=''middle'' >C</td>"; }
                                    elseif ($userDates[$dates][''status''] == 1 )
                                        { echo "<td  width=''26'' title=''";echo $userDates[$dates][''comments'']; echo "'' height=''20px'' bgcolor=''#"; echo $userDates[$dates][''color'']; echo "'' align=''center'' valign=''middle'' >PA</td>"; }
                                    elseif ($userDates[$dates][''status''] == 2 )
                                        { echo "<td  width=''26'' title=''";echo $userDates[$dates][''comments'']; echo "'' height=''20px'' bgcolor=''#"; echo $userDates[$dates][''color'']; echo "'' align=''center'' valign=''middle'' >A</td>"; }
                                    elseif ($userDates[$dates][''status''] == 3 )
                                        { echo "<td  width=''26'' title=''";echo $userDates[$dates][''comments'']; echo "'' height=''20px'' bgcolor=''#"; echo $userDates[$dates][''color'']; echo "'' align=''center'' valign=''middle'' >T</td>"; }
                                    elseif ($userDates[$dates][''status''] == 4 )
                                        { echo "<td  width=''26'' title=''";echo $userDates[$dates][''comments'']; echo "'' height=''20px'' bgcolor=''#000''"; echo "'' align=''center'' valign=''middle'' ></td>"; }
                                    elseif ($userDates[$dates][''status''] == 5 )
                                        { echo "<td  width=''26'' height=''20px'' bgcolor=''#CCCCCC'' align=''center'' valign=''middle'' >SH</td>"; }
                                }
                                    else
                                {
                                        //echo $weedays[''weekday''];
                                            if ($weedays[''weekday''] == $Numdays && $weedays[''weekstat''] == 8)
                                            { echo "<td  width=''26'' height=''20px'' bgcolor=''#999999'' align=''center'' valign=''middle'' >W</td>"; }
                                            else
                                            { echo "<td width=''26'' height=''20px'' style=''color:#ccc;'' align=''center'' style=''color:#333'' valign=''middle'' >".$Numdays."</td>"; }
                                }

                }
}
?>
</tr>
</table>
<?php
}
 ?>



[edit]主题,大小写,标点符号和代码块整齐时的较小拼写错误-OriginalGriff [/edit]

[edit2]代码块"的正确拼写:是:-OriginalGriff [/edit2]



[edit]Minor spelling error in subject, capitalization, punctuation, and a tidy up of the code block - OriginalGriff[/edit]

[edit2]Corrected spelling of "Code block" :Doh: - OriginalGriff[/edit2]

推荐答案

host ="localhost"; //数据库位置
host = "localhost"; //database location


user ="root"; //数据库用户名
user = "root"; //database username


pass ="; //数据库密码
pass = ""; //database password


这篇关于如何在整年的列中显示工作日的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆