2008年9月28日 星期日

PHP萬年曆


<?
//顯示月曆開始
if ($_POST['addY']){
$addY=$_POST['addY'];
}else{
$addY=date(Y);
}
if ($_POST['addM']){
$addM=$_POST['addM'];
}else{
$addM=date(m);
}

$t=date(t,mktime(0,0,0,$addM,1,$addY));
$w=date(w,mktime(0,0,0,$addM,1,$addY));
$F=date(F,mktime(0,0,0,$addM,1,$addY));

echo "<table align=center border=0><tr align=center><td><font size=5 color=999999><b>";
echo $yearYM=$F." ".$addY;
echo "</b></td></tr><tr align=center><td> </td></tr></table>";
echo "<table align=center border=0>";
echo "<tr align=center height=40>
<td><font color=red><b>Sun</b></td>
<td><b>Mon</b></td>
<td><b>Tue</b></td>
<td><b>Wed</b></td>
<td><b>Thu</b></td>
<td><b>Fri</b></td>
<td><font color=green><b>Sat</b></td>
</tr>";

if ($w > 1) {
echo "<tr>";
for ($i=1; $i<=$w-1; $i++) {
echo "<td align=center width=40></td>";
}
}

for ($i=$w; $i<=$w+$t; $i++) { //$w+$t=35
//一週七天
if ($i%7==1){
echo "<tr><td align=center width=40>";
}else{
echo "<td align=center width=40>";
}

if ($i-$w > 0) {
echo "<font size=5><b>";
//echo $i-$w;
echo "<a href=".($i-$w).">".($i-$w)."</a>";
echo "</b></font>";
}else{
echo " ";
}

if ($i%7==0){
echo "</td></tr>";
}else{
echo "</td>";
}
}

if ($i%7==0) {
echo "<td width=40> </td>";
}elseif ($i%7==1) {
echo "";
}elseif (($i%7)>0) {
for ($j=$i; $j<=$i+7; $j++) {
if (($j%7)==0) {
echo "<td width=40> </td>";
break;
}else{
echo "<td width=40> </td>";
}
}
echo "</tr>";
}
echo "</table>";
//顯示月曆結束
?>
<form method=post name=form1 id=form1 enctype="multipart/form-data" action="" onsubmit="submitbutton();">
<table align=center border=0><tr align=center><td><font size=5 color=999999>
<tr><td align=right></td><td><b>顯示月份 :</b>
<input size=4 type="text" name="addY" value="<?echo $addY?>"><b>年</b> 
<b>
<select name="addM" size="1">
<?php
for ($temp=1;$temp<=12;$temp++){
if ($temp==$addM){
?>
<option selected><?php echo $temp;?></option>
<?php }else{?>
<option><?php echo $temp;?></option>
<?php }
}
?>
</select>
月</b> </td>
</tr>
<tr><td align=center colspan=2>
<input type="submit" name="submitbtn" value="顯示">
</td></tr>
</table>


<p>最下面的表單部分,您也可以改成下拉式表單
或是根本不用表單,直接做成下拉式連結就更方便
包括視覺效果您也可以自己改變
就像是這樣 http://www.tenway.com.tw/memberList/ (左邊會員登入的下面)

上面的程式碼做出來的效果就像這樣
http://works.sdcs.com.tw/Imgck/makeCalendar4.php </p>
<p> </p>
<form name="form1" method="post" action="">
</form>
<p> </p>

資料來源:因忘了在那找的,所以無來源,但版權為原作者所有!

常用ASCII碼表

ASCII碼鍵盤ASCII 碼鍵盤ASCII 碼鍵盤ASCII 碼鍵盤
27ESC32SPACE33!34"
35#36$37%38&
39'40(41)42*
43+44'45-46.
47/480491502
513524535546
55756857958:
59;60<61=62>
63?64@65A66B
67C68D69E70F
71G72H73I74J
75K76L77M78N
79O80P81Q82R
83S84T85U86V
87W88X89Y90Z
91[92\93]94^
95_96`97a98b
99c100d101e102f
103g104h105i106j
107k108l109m110n
111o112p113q114r
115s116t117u118v
119w120x121y122z
123{124|125}126~

資料來源:http://www.geo.ntnu.edu.tw/faculty/hchou/class/ntptc/gis/ascii_table.htm

2008年9月18日 星期四

連結MS-Express/Enterprise時的差別!

一般在寫ASP.NET時,若DataBase是MS-SQL,那麼一般有兩
種版本-Express/Enterprise,而這兩種版本的連結語法
是不一樣的:
Express
Express連結時,是以"資料庫檔案"的方式在連接



strdbcon = "DataSource=.\SQLEXPRESS;AttachDbFilename=DataDirectory\資料庫檔名.mdf;Integrated Security=True;User Instance=True";

Enterprise
Exterprise連結時,因其不支援"資料庫檔案"的方式,所
以必須以"SQL Server"的方式連結



public SqlConnection conn = new SqlConnection("Data Source=網域名稱;AttachDbFilename=資料庫實體路徑;Integrated Security=True");
public SqlCommand cmd;
public SqlDataReader dr;

2008年9月13日 星期六

當有多個控制項時,要如何傳值?

如果今天有如下的一個Table:



<table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="98%" id="AutoNumber11">
<tr>
<td width="100%"> </td>
<td width="100%"> </td>
</tr>
<?php
$i=1;
$r=mysql_query("select * from q$q_id");
while($row=mysql_fetch_object($r)){
?>
<tr>
<td width="100%" colspan="2" bgcolor="#E6E6FF"><div align="left"><font size="2"><?php echo $i.". ".$row->option_title; ?></font></div></td>
</tr>
<?php
switch($row->qtype){
case '0':
?>
<tr>
<?php
$temp=explode(",",$row->option_body);
for($j=0;$j<sizeof($temp)-1;$j++){
?>
<td width="100%" colspan="2">
<div align="left">
<input type="radio" value="<?php echo $j+1; ?>" name="q<?php echo $i; ?>[<?php echo $i; ?>]">
<?php echo $temp[$j]; ?></div></td>
</tr>
<?php
}
break;
case '1':
$temp=explode(",",$row->option_body);
for($j=0;$j<sizeof($temp)-1;$j++){
?>
<tr>
<td colspan="2"><label>
<div align="left">
<input name="q<?php echo $i; ?>[<?php echo $j+1; ?>]" type="checkbox" id="q<?php echo $i; ?>[<?php echo $j+1; ?>]" value="<?php echo $j+1; ?>">
<?php echo $temp[$j]; ?> </div>
</label></td>
</tr>
<?php
}
break;
case '2':
?>
<tr>
<td colspan="2"><label>

<div align="left">
<textarea name="q<?php echo $i; ?>[<?php echo $i; ?>]" cols="30" rows="6" id="q<?php echo $i; ?>[<?php echo $i; ?>]"></textarea>
</div>
</label></td>
</tr>
<?
break;
}
$i=$i+1;
}
?>

<tr>
<td width="100%" colspan="2"> </td>
</tr>
<tr>
<td width="100%" colspan="2" bgcolor="#99CCFF"> </td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="right"><font size="2"><a href="./?action=answer&q_id=<?php echo $q_id?>#top">TOP↑</a></font></td>
</tr>
</table>

當Submit後,由於是以Array來對Form的控制項命名,所以可以用Loop的方式來處理:

for($i=1;$i<=$_POST["qmax"];$i++){
$q=$_POST["q".$i];
for(reset($q);$k=key($q);next($q)){
echo "{$q[$k]}".",";
}
echo "<br>";
}

2008年9月8日 星期一

如何讓表格內的文字可以自動斷行?

最近小弟在用PHP寫留言板,但遇到了如果內容太長沒斷行("\n"),會導致表格無限變大,所以上網去查了一下有沒有可以改擅的方法,於是查到此一CSS:
很多人在留言板看過因為訪客輸入較長的英文或連續符號,表格隨著文字變寬,就破壞了版面美觀,這個CSS語法可以避免這樣的情形,不過記得表格(table及td)的寬度要設正確啦!不然加了可能更糟。
複製語法貼於標籤之間


<style type="text/css">
<!-- table,td {table-layout:fixed;word-wrap:break-word;word-break:break-all} -->
</style>

使用在單一表格時,請在<table>或<tbody><tr><td>加上

style="table-layout:fixed;word-wrap:break-word;word-break:break-all"

ex.

<table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all; WORD-WRAP: break-word" width="150">

資料來源:
http://blog.blueshop.com.tw/petlife/archive/2004/10/13/496.aspx

2008年9月6日 星期六

解決ASP.NET的HyperLink使用window.open會出現[object]或[object Window]的問題

最近在寫"訊息公告"的功能,想說用GridView來完成,可是預到問題,當我把field改HyperLink來做開新視窗時會出現兩個視窗,在網上找了到解決的方法:
一般在.aspx網頁上加入一個HyperLink控制項並且設定NavigateUrl為"javascript:window.open('http://www.dotblogs.com.tw/puma/')"
在IE,FF都會開新視窗,但本身視窗會出現[object]or[object Window]的訊息要解決這個問題,只要在多一個"void",如下所示,就可以解決了..."javascript:void window.open('http://www.dotblogs.com.tw/puma/')"
資料來源:
http://www.dotblogs.com.tw/puma/archive/2008/03/21/1989.aspx