存取MySQL資料庫
資料庫連線
中文issue
新增 INSERT INTO
查詢 SELECT...FROM
修改 UPDATE
刪除 DELETE
資料庫連線
中文issue
新增 INSERT INTO
查詢 SELECT...FROM
修改 UPDATE
刪除 DELETE
<?php
$link = mysql_connect($server, $username, $password); // 連接伺服器
if( !$link) {
die('無法連接資料庫');
}
$db = mysql_selectdb($dbname, $link) ; // 開啟資料庫
if (!$db) {
die('無法開啟資料庫');
}
mysql_close($link); // 關閉資料庫連線
?><?php
$server = 'localhost'; // 伺服器
$username = 'project1'; // 帳號
$password = 'xxxxxx'; // 密碼
$dbname = 'project1'; // 資料庫名稱
?>
10 minutes to go
<?php
$server = 'localhost'; // 伺服器
$username = 'project1'; // 帳號
$password = 'xxxxxx'; // 密碼
$dbname = 'project1'; // 資料庫名稱
$link = mysql_connect($server, $username, $password); // 連接伺服器
if( !$link) {
die('無法連接資料庫');
}
$db = mysql_select_db($dbname, $link) ; // 開啟資料庫
if (!$db) {
die('無法開啟資料庫');
}
/*
資料庫存取:新增 修改 查詢 刪除
*/
mysql_close($link); // 關閉資料庫連線
?>每個頁面重複
db.php
<?php
include_once('db.php');
?><?php
$server = 'localhost'; // 伺服器
$username = 'project1'; // 帳號
$password = 'xxxxxx'; // 密碼
$dbname = 'project1'; // 資料庫名稱
$link = mysql_connect($server, $username, $password); // 連接伺服器
if( !$link) {
die('無法連接資料庫');
}
$db = mysql_select_db($dbname, $link) ; // 開啟資料庫
if (!$db) {
die('無法開啟資料庫');
}
?>db.php
<?php
include_once('db.php'); // 引入db.php
/*
資料庫存取:新增 修改 查詢 刪除
*/
mysql_close($link); // 關閉資料庫連線
?>db.php
page1.php
page2.php
重複使用
10 minutes to go
資料庫連線
中文issue
新增 INSERT INTO
查詢 SELECT...FROM
修改 UPDATE
刪除 DELETE
<?php
include_once('db.php'); // 引入db.php
mysql_query("SET NAME 'utf8'"); //處理寫入資料庫時的編碼問題
/*
資料庫存取:新增 修改 查詢 刪除
*/
mysql_close($link); // 關閉資料庫連線
?><?php
// ....[略]....
$db = mysql_select_db($dbname, $link) ; // 開啟資料庫
if (!$db) {
die('無法開啟資料庫');
}
mysql_query("SET NAME 'utf8'"); //處理寫入資料庫時的編碼問題db.php
資料庫連線
中文issue
新增 INSERT INTO
查詢 SELECT...FROM
修改 UPDATE
刪除 DELETE
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form name="form1" method="post" action="confirm.php">
<p>
<label for="name"></label>
姓名: <input type="text" name="name" id="name">
<br>
電子郵件:
<label for="mail"></label>
<input type="text" name="mail" id="mail">
</p>
<p>
<label>請勾選年紀:<br>
<input type="radio" name="age" value="1" id="age_0">
19歲以下</label>
<br>
<label>
<input type="radio" name="age" value="2" id="age_1">
20~29歲</label>
<br>
<label>
<input type="radio" name="age" value="3" id="age_2">
30~39歲</label>
<br>
<label>
<input type="radio" name="age" value="4" id="age_3">
40歲以上</label>
<br>
</p>
<p>買的手機品牌:<br>
<label>
<input type="checkbox" name="brand[]" value="1" id="brand_0">
Apple</label>
<br>
<label>
<input type="checkbox" name="brand[]" value="2" id="brand_1">
三星</label>
<br>
<label>
<input type="checkbox" name="brand[]" value="3" id="brand_2">
hTC</label>
<br>
<label>
<input type="checkbox" name="brand[]" value="4" id="brand_3">
SONY</label>
<br>
</p>
<p>
<input type="submit" name="button" id="button" value="送出">
<input type="reset" name="button2" id="button2" value="重設">
</p>
</form>
</body>
</html><?php
include_once('db.php'); // 引入db.php
mysql_query("SET NAME 'utf8'"); //處理寫入資料庫時的編碼問題
$name = $_POST['name'];
$mail = $_POST['mail'];
if (isset($_POST['age'])) {
$age = $_POST['age'];
} else {
$age = 0;
}
if (isset($_POST['brand'])) {
$phone = $_POST['brand'];
$phonestr = implode("|", $phone);
}
$sql = "INSERT INTO `project1`.`survey` "
. "(`id`, `name`, `mail`, `age`, `brand`)"
. " VALUES (NULL, '$name',"
. " '$mail', "
. "'$age',"
. " '$phonestr');";
mysql_close($link); // 關閉資料庫連線
?>
20 minutes to go
資料庫連線
中文issue
新增 INSERT INTO
查詢 SELECT...FROM
修改 UPDATE
刪除 DELETE
SELECT "欄位名" FROM "表格名";欄位名
表格名
SELECT * FROM survey;
SELECT name, mail FROM survey;$sql = "SELECT * FROM survey"; // SQL字串
$result = mysql_query($sql); // 查詢// 在while迴圈搭配使用
mysql_fetch_array($result, MYSQL_BOTH); // MYSQL_BOTH指可用0,1,2...或欄位名稱id, name, mail兩種方式
// 或者使用
mysql_fetch_assoc($result); // 只能用欄位名稱<?php
include_once('db.php'); // 資料庫連線
$agestr = array(0 => "沒有選", 1 => "19歲以下", 2 => "20~29歲", 3 => "30~39歲", 4 => "40歲以上");
$brand = array(1 => 'Apple', 2 => '三星', 3 => 'hTC', 4 => 'Sony');
mysql_query("SET NAMES 'utf8'"); // 處理中文
$sql = "SELECT * FROM survey"; // SQL查詢指令
$result = mysql_query($sql); // 執行SQL,回傳查詢結果
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
echo $row['id'] . ' '; // 印出id欄位值
echo $row['name'] . ' '; // 印出姓名欄位值
echo $row['mail'] . ' '; // 印出電子郵件欄位值
echo $agestr[$row['age']] . ' '; // 印出年齡欄位轉換後字串
$phone = explode('|', $row['brand']); // 將字串轉成陣列,如 1|3|4 轉成陣列
foreach ($phone as $value) {
echo $brand[$value] . ' ';
}
echo '<BR>';
}
?>20 minutes to go
# 排序語法 ORDER BY
# ASC 由小到大
# DESC 由大到小
SELECT "欄位名"
FROM "表格名"
[WHERE "條件"]
ORDER BY "欄位名" [ASC, DESC];
#以id欄位由大到小排列
SELECT * FROM survey ORDER BY id DESC;
<?php
# 定義常數, 將陣列序列化 (php 5.5版以下)
define ("FRUITS", serialize (array ("apple", "cherry", "banana")));
# 使用,反序列化
$my_fruits = unserialize (FRUITS);
<?php
# 定義常數, 將陣列序列化
define('AGESTR', serialize(array(0 => "沒有選", 1 => "19歲以下", 2 => "20~29歲", 3 => "30~39歲", 4 => "40歲以上")));
define('BRAND', serialize(array(1 => 'Apple', 2 => '三星', 3 => 'hTC', 4 => 'Sony')));<?php
include_once 'constant.php';
$agestr = unserialize(AGESTR); // 使用前,反序列化
$brand = unserialize(BRAND); // 使用前,反序列化constant.php
index.php
<?php
include_once('db.php'); // 資料庫連線
include_once('constant.php');
$agestr = unserialize(AGESTR);
$brand = unserialize(BRAND);
mysql_query("SET NAMES 'utf8'"); // 處理中文
$sql = "SELECT * FROM survey"; // 查詢
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
echo $row['id'] . ' ';
echo $row['name'] . ' ';
echo $row['mail'] . ' ';
echo $agestr[$row['age']] . ' ';
$phone = explode('|', $row['brand']); // 將字串轉成陣列,如 1|3|4 轉成陣列
foreach ($phone as $value) {
echo $brand[$value] . ' ';
}
echo '<BR>';
}
?>
10 minutes to go
<?php
# php 5.6以上版本可用 const直接定義,不需序列化
const DEFAULT_ROLES = array('guy', 'development team');
資料庫連線
中文issue
新增 INSERT INTO
查詢 SELECT...FROM
修改 UPDATE
刪除 DELETE
UPDATE "表格名"
SET "欄位1" = [新值]
WHERE "條件";$id = $_POST['id'];
$mail = $_POST['mail'];
// ...
$sql = "UPDATE survey SET mail='$mail' WHERE id='$id'"; // SQL字串
$result = mysql_query($sql); // 修改UPDATE Store_Information
SET Sales = 500
WHERE Store_Name = 'Los Angeles'
AND Txn_Date = 'Jan-08-1999';500
UPDATE "表格名"
SET "欄位1" = [新值]
WHERE "條件";$id = $_POST['id'];
$mail = $_POST['mail'];
// ...
$sql = "UPDATE survey SET mail='$mail' WHERE id='$id'"; // SQL字串
$result = mysql_query($sql); // 修改UPDATE Store_Information
SET Sales = 500
WHERE Store_Name = 'Los Angeles'
AND Txn_Date = 'Jan-08-1999';500
20 minutes to go
資料庫連線
中文issue
新增 INSERT INTO
查詢 SELECT...FROM
修改 UPDATE
刪除 DELETE
DELETE FROM "表格名"
WHERE "條件";$id = $_POST['id'];
// ...
$sql = "DELETE FROM survey WHERE id='$id'"; // SQL字串
$result = mysql_query($sql); // 刪除DELETE FROM Store_Information
WHERE Store_Name = 'Los Angeles';10 minutes to go
| 規劃期 | 製作前期 | 製作期 | 上架期 |
|---|---|---|---|
| 規格書 | Wireframe | 後端 | 測試 |
| UI flow | 前端 | 上架 | |
| Mockup | 設計 | 維運 | |
| Prototype |
程式開發
系統分析
測試維運
搭配系統草圖(wireframe)
查詢Select
新增Insert into
刪除Delete
修改Update
http://pmtips.net/wp-content/uploads/2012/06/hands-on-PM.jpg
<form action="dispatch.php" method="post">
<input type="submit" value="刪除" name="delete">
<input type="submit" value="修改" name="update">
</form>header("Location: http://example.com/myOtherPage.php");
// 或是
$action = 'delete.php';
header("Location: " . $action);<?php
if ($_POST['delete']) {
header('Location: ' . 'delete.php');
die();
}
if ($_POST['update']) {
header('Location: ' . 'update.php');
die();
}
<form action="dispatch.php" method="post">
<input type="submit" value="刪除" name="delete">
<input type="submit" value="修改" name="update">
</form><?php
if ($_POST['delete']) {
header('Location: ' . 'delete.php');
die();
}
if ($_POST['update']) {
header('Location: ' . 'update.php');
die();
}
?>
<!DOCTYPE html>
...<head>
<!-- 最新編譯和最佳化的 CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<!-- 選擇性佈景主題 -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
<!-- 最新編譯和最佳化的 JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
</head>在需要BS 3的頁面<head></head>內加入下列三行
<div class='container'>
<div class='row'>
<div class='col-xs-4'>第一行第一列</div> <!-- col-*-* : 第一個*為解析度 -->
<div class='col-xs-4'>第一行第一列</div> <!-- 第二個*為數字,為該列所佔比例 -->
</div>
</div>