星期三, 1月 19, 2011

20110119 PHP-MySQL CLASS 3 上課小記

Lab: if
<?php
$num = rand(1,9999);
echo $num;

if ($num<10){echo "個位數";}
else if ($num<100){echo "兩位數";}
else if ($num<1000){echo "三位數";}
else {echo "四位數";}
echo "<hr />"
?>

swtich 介紹
  • 只要是switch, 一定有小括弧與大括弧
  • 針對值來進行判斷, 給與動作



Lab: switch
<?PHP
$score=rand(0,100);
//floor 取整數
$level=floor($score/10);

$str=”成績為”.$score.”考績為”;

switch($level){
    case 10;
        $str .=”優等”;
        //要使用 break 中斷 switch
break;
    case 9;
        $str .=”甲等”;
        break;
    case 8;
        $str .=”乙等”;
        break;
default:
$str .=”不及格”;
}
echo $str;
?>


Lab: 建立 ch03_2.php
換算時間

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
</head>
<?php

//先接收傳過來的秒數
$second = $_GET['second'];
// $sec 為除以 60 的餘數
$sec = $second%60;
echo "秒數=".$sec."<br/>";
// $min 為除以 60 的餘數
$min = floor($second/60)%60;
echo "分鐘數".$min."<br/>";
$hou = floor($second/60/60)%24;
echo "小時數".$hou."<br/>";
$day = floor($second/60/60/24);
echo "天數".$day."<br/>";
$str = "輸入的".$second."秒=";
//如果值為 0 則不輸出
if($day!=0){$str .= $day."天";}
if($hou!=0){$str .= $hou."時";}
if($min!=0){$str .= $min."分";}
if($sec!=0){$str .= $sec."秒";}
?>
<body>
<form id="form1" name="form1" method="get" action="ch03_2.php">
 <table width="400" border="1">
    <tr>
     <td width="100"><div align="right">請輸入:</div></td>
     <td width="300"><label for="second"></label>
     <input type="text" name="second" id="second" />秒
     <input type="submit" name="submit" id="submit" value="送出" /></td>
    </tr>
 </table>
</form>
<?php
//如果初始值為 0, 在未輸入的狀態不顯示輸出
if($second!=0){echo $str;}
?>
</body>
</html>

Note:
  • 每一個 input 的name 就是他的變數名稱


Lab: 遞增
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
</head>
<?php
$num1 = 100;
//將 num1 + 1
$num1++;
echo $num1."<hr/>"; //101
//先執行 $num2=num1 , 所以 $num2 會是 101, 接下來執行 num1++
$num2=$num1++;
echo "num2為".$num2."<hr/>";
echo "num1為".$num1."<hr/>";
//$num3 的例子為先加
$num3=++$num1;
echo "num3為".$num3."<hr/>";
?>
<body>
</body>
</html>




Lab: 建立 資料庫(利用 phpMyAdmin)

參考 上課講義建立
  • 1個 資料庫
    • 1個資料表 6 個欄位



Notes:
  • 利用 Ctrl + Arrow_Down 來控制在表格內的游標移動
  • 利用 Alt + Arrow_Down 來控制在下拉式選單的游標移動
  • 型態介紹
    • 流水編號常用 INT 長整數
    • 姓名常用 VARCHAR變動式的字元數
  • 資料庫備份的介紹


之後Lab 相關結構介紹

輸入留言  ---插入記錄--->  資料庫  --> 顯示留言

輸入留言
  • 檔案名稱: guestForm.php
  1. 表單
  2. 表格(或div ul)
  3. 表單欄位
  4. 插入紀錄


資料庫
  • 資料庫 TSpmPHP
  • 資料表 guestbook


顯示留言
  • 檔案名稱: guestBook.php
  1. 表格(或div ul)
  2. 資料集
  3. 顯示欄位
  4. 重複區域
  5. 導覽列
  6. 顯示區域的判斷

沒有留言: