Ⅰ php日歷插件的製作方法,求思路
<?phpheader("content-type:text/html;charset=utf-8");?>
<?php?>
<tableclass="tabletable-stripedtable-hover">
<?php
//註:32位機器或者32位PHP版本可能只能計算到2038年之前的月份
//若沒有GET方法傳入參數,則使用伺服器本地當前日期;否則使用傳入的參數,方便跳轉月份
$year=date("Y");
$month=date("n");
$alert="<divclass='alertalert-warning'>輸入的日期格式有誤!</div>";
$alertYear="<divclass='alertalert-warning'>無法計算1901年以前的日歷!</div>";
if($_REQUEST){
$year=$_REQUEST["year"];
$month=$_REQUEST["month"];
}
if(!in_array($month,array("1","2","3","4","5","6","7","8","9","10","11","12"))){echo$alert;exit;}
if($year<1901){echo$alertYear;exit;}
?>
<caption><h4><?phpecho$year;?> 年 <?phpecho$month;?> 月</h4></caption>
<?php
//計算當前日期,當月天數,獲得星期數據,將默認星期天數字0改為7,方便處理循環
$today=date("j");
$days=date("t",strtotime("$year-$month-01"));
$week=date("w",strtotime("$year-$month-01"));
if($week==0){$week=7;}
?>
<tr>
<th>一</th>
<th>二</th>
<th>三</th>
<th>四</th>
<th>五</th>
<th>六</th>
<th>日</th>
</tr>
<tr>
<?php
//插入空白無日期區域,循環次數為當前月第一天的星期數-1
for($space=1;$space<$week;$space++){
echo"<td>-</td>";
}
//循環插入數據,當到達周日時換行輸出;標記當前日期為紅色
for($day=1;$day<=$days;$day++){
if(($day+$week-1)%7===0){
if($day==$today&&$year==date("Y")&&$month==date("n")){
echo"<tdstyle='background-color:pink;'>$day</td>";
echo"</tr>";
echo"<tr>";
}
echo"<td>$day</td>";
echo"</tr>";
echo"<tr>";
}else{
if($day==$today&&$year==date("Y")&&$month==date("n")){
echo"<tdstyle='background-color:pink;'>$day</td>";
}else{
echo"<td>$day</td>";
}
}
}
//尾部補足
$spacing=36-$days-$week<0?43-$days-$week:36-$days-$week;
for($footer=1;$footer<=$spacing;$footer++){
echo"<td>-</td>";
}
?>
</tr>
</table>
我以前寫的,你隨意看看~~
Ⅱ 如何用php 實現日歷三個月輸出
sybase_connect連喊段遲上資料庫。
語法: int sybase_connect(string [servername], string [username], string [password]);
返回值: 整數函數種類: 資料庫功能 本函數用來打開與 Sybase 資料庫的連接。
參數 servername 為欲連上的資料庫伺服器名稱。
參數 username 及 password 可省略,分別為連接使用的帳號及密碼。
使用本函數需注意早燃閉點關閉資料庫,以減少系統的負擔。
連接成功則返回資料庫的連接代號,鄭李失敗返回 false 值。
Ⅲ PHP如何生成一個指定年份一整年的日歷
從你的描述看來,只需要知道指定年份的每個月的天數和每天對應的周次即可。
PHP中 Calendar 函數可以實現第一步:
int cal_days_in_month ( int $calendar , int $month , int $year )
剩下的就是寫循環遍歷所有月,按月生成日歷了。
Ⅳ php中將一年12個月的日歷全部輸出。如何做
<?php
//SKY8G提供
function cal_days_in_year($year){
$days=0;
for($month=1;$month<=12;$month++){
$days = $days + cal_days_in_month(CAL_GREGORIAN,$month,$year);
}
return $days;
}
//閏年
echo "這是閏年一年有:".cal_days_in_year(2000)."天";
echo "\n";
//平年
echo "這是平年一年有:".cal_days_in_year(1999)."天";
echo "\n";
//2019年
echo "今年2019年有:".cal_days_in_year(date('Y',time()))."天";
echo "\n";
//接下來我們是用php的內置函數cal_days_in_month()
$d=cal_days_in_month(CAL_GREGORIAN,2,2010);
echo "2010 年平年 2 月有 $d 天。\n";
$d=cal_days_in_month(CAL_GREGORIAN,2,2000);
echo "2000 年閏年 2 月有 $d 天。";
echo "\n";
$d=cal_days_in_month(CAL_GREGORIAN,4,2010);
echo "2010 年平年 4 月有 $d 天。\n";
$d=cal_days_in_month(CAL_GREGORIAN,4,2000);
echo "2000 年閏年 4 月有 $d 天。";
echo "\n";
$d=cal_days_in_month(CAL_GREGORIAN,8,2010);
echo "2010 年平年 8 月有 $d 天。\n";
$d=cal_days_in_month(CAL_GREGORIAN,8,2000);
echo "2000 年閏年 8 月有 $d 天。";
//詳情如果想了解詳情去sky8g網觀看,希望對你有幫助!
Ⅳ 如何用php做日歷
具體代碼裂和如下:
<?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>
PHP 獨特的語法混合了C、java、Perl以及PHP自創的語法。
它可以比CGI或者Perl更快速地執弊嫌行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)租源手文檔中去執行,
執行效率比完全生成HTML標記的CGI要高許多;
PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
Ⅵ PHP和資料庫做日歷 高手給點幫助唄 簡單點就行 求代碼
<?php
if(isset($_GET['add_flag']) ){
require_once './Setting.php';
try {
$dbm = new DBManager($dsn, $user, $passwd);
$db = $dbm->getDB();
$stt = $db->prepare('INSERT INTO diary(date1,title,content,weather,feeling) VALUES(:date1,:title,:content,:weather,:feeling)');
$stt->bindValue(':date1', $_GET['date1']);
$stt->bindValue(':title', $_GET['title']);
$stt->bindValue(':content', $_GET['content']);
$stt->bindValue(':weather', $_GET['weather']);
$stt->bindValue(':mood', $_GET['mood']);
$stt->execute();
} catch(PDOException $e){
die("エラー: {$e}");
}
$db = null;
$dbm = null;
header('Location: ./main.php');
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html> <head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ユーザ管理システム - ユーザの追加</title>
<script src="./sd.js" type="text/javascript"></script>
</head> <body>
<div id="header">
<h1>ユーザ管理システム</h1>
<h2>ユーザの追加</h2>
<?php
?>
</div>
<form action="./add_user.php" method="get">
<input type="hidden" size="5" name="id"><br>
<table>
<tr>
<td>date:</td>
<td><input type="TextBox" size="20" name="date1" ID="TextBox1" onfocus="calendar()" runat="server"></td>
</tr>
<tr>
<td>title:</td>
<td><input type="text" size="20" name="title"></td>
</tr>
<tr>
<td>content:</td>
<td><textarea name="content" cols = "45" rows = "5"></textarea></td>
</tr>
<tr>
<td>weather:</td>
<td><input type="radio" name="weather" value="陰" id="weather1" checked>
<label for="weather1" style="background-image: rainy.jpg)">rainy</label>
<input type="radio" name="weather" value="晴" id="weather2">
<label for="weather2" style="background-image: sunny.jpg)">sunny</label></td>
</tr>
<tr>
<td>mood:</td>
<td><input type="radio" name="feeling" value="happy" id="mood1" checked style="background-image: happy.jpg)">
<label for="mood1">happy</label>
<input type="radio" name="feeling" value="傷心" id="mood2" style="background-image: sad.jpg)" >
<label for="mood2">sad</label></td>
</tr>
<br>
</table>
<input type="hidden" name="add_flag" value="true">
<input type="submit" value="Add">
</form>
<p><a href="./main.php">トップ畫面へ戻る</a></p>
</body>
</html>
Ⅶ 用php編程按月顯示的日歷
我把我寫的分享給你吧
/**
*顯示日歷
*@paramint$time時間戳
*/
privatefunction__calendarPanel($time=null){
$time||$time=time();
$dateinfo=getdate($time);
$calendar=array(
'year'=>$dateinfo['year'],
'month'=>$dateinfo['mon'],
'day'=>$dateinfo['mday'],
);
$m_start=strtotime(date('Y-m-01',$time));//本月第一天
$m_start_w=get_week($m_start,true);//本月第一天星期索引,0表示星期日
$m_end=strtotime('+1month',$m_start)-86400;//本月最後一天
$m_end_w=get_week($m_end,true);//本月最後一天星期索引,0表示星期日
//補齊上月日期
for($i=0;$i<$m_start_w;$i++){
$calendar['days'][]=array(
'style'=>'bef_month',
'day'=>abs(date('d',$m_start-($m_start_w-$i)*86400)),
);
}
//本月日期
for($i=$m_start;$i<=$m_end;$i+=86400){
$calendar['days'][]=array(
'style'=>'the_month'.(date('d',$i)==$calendar['day']?"bold":""),
'day'=>abs(date('d',$i)),
);
}
//補齊下月日期
for($i=$m_end_w+1;$i<=6;$i++){
$calendar['days'][]=array(
'style'=>'aft_month',
'day'=>abs(date('d',$m_end+($i-$m_end_w)*86400)),
);
}
return$calendar;
}
日歷都存到返回的一個數組里了,你列印的時候,一行放7列,第一列星期日