include的語法是:
: d7 N- g) G2 t9 H2 K2 m" R' w% B
Include ('included_text_file'); / s$ k6 W/ ]( R, l5 p j
7 k; ~5 E4 Y+ [2 Z) x 現在我們可以用?>來關閉PHP部分,並且用</body></html>來結束html頁面。
* M9 M: ]" O Q/ C- m6 n% `9 V/ W3 I+ S. i( o7 n0 d8 X4 U* X1 P9 \) w
使用表單增加數據 ) R' c" ^- M) l0 D
3 M. J0 b# i! r8 R+ l
讓我們看一下下面的代碼:
7 [& ]# k* `# p0 o; z7 Q; g1 ~& f3 z7 q' z
-------------------------------------------------------------------------------- 5 i; r* w' u# B: x
<html>
6 {/ H E; U4 c$ ^( Y6 J* v3 O; V<head><title>Add an entry to the database</title> ; [7 Z( |1 y9 E" w/ Z
</head> , u# l4 R) [# D1 Q* @) t; K7 ^
<body bgcolor=#ffffff>
/ L: H% }9 R2 b/ u0 L1 w, m( h5 z: d H) Z- }6 L! V% q. W }
<h1>Add an entry</h1>
+ p% Q6 ?% W5 d1 u e0 O+ I; @& s& u& ~1 {6 R4 k
<form method="post" action="add2tbl.php3">
, q, l& H% ], u4 h# W' E( g<table width=90% align=center>
! ~. m! P4 u% i4 ] P1 N7 \7 O
: C; {7 R9 H3 F. k; H<tr><td>Index:</td><td><input type=text name="idx" size=3 maxlength=3></td></tr>
1 _, `4 G1 [, D0 Q1 G+ {% E. s: M6 N/ o$ T
<tr><td>UserName:</td><td><input type=text name="UserName" size=40
$ A5 ^* Q$ k; e* zmaxlength=100></td></tr>
7 H% s: `8 y: W7 J3 @) W- m
1 O! X# W7 N) @& `1 H3 H5 P. F<tr><td>LastName:</td><td><input type=text name="LastName" size=40
6 c: [; o( S* G" {7 M& Z& Kmaxlength=100></td></tr>
, i5 W& o9 q! I. Z/ m4 O6 v; I% U6 `& M0 {
<tr><td>FreeText:</td><td><input type=text name="FreeText" s=40 maxlength=100></td></tr> - G0 N/ g0 M7 u. R9 z4 n
( W' Q7 N# A4 h% w' Y5 [<tr><td></td><td><input type=submit value=add></td></tr> ' H9 @# `, f: b0 n+ K4 q
+ a- h9 E C# `& @" l8 E
</form> . X$ D+ J. _5 Y8 i8 V* w
</table> 2 L f& }! a& ]! U# b
; |" i" p# c$ \<?php include ('links.x');?> 4 M. G/ v7 {5 K! {" F6 l
, d8 Z# G$ X" j% c1 N; ]7 K% M3 p</body>
# }$ M- x8 F- W/ i2 x7 n7 F</html> ) h. i3 O* N$ B$ j6 R: I9 @
--------------------------------------------------------------------------------
+ T) z$ i& b3 k+ q 假設你對表單很熟悉,這是一個相當簡單的腳本。我們根據html頁面設計了一個表單,它在提交後調用 5 s0 ~# g" o$ m+ T6 Z9 z* U
add2tbl.php3腳本。現在,表單與MySQL表相對應由4個字段組成:index number,FirstName,LastName和
. r+ h+ u" Q, w) ^! N% _: IFreeText。注意在這個表單中字段名字與MySQL表中字段名一樣,但這只是為了方便起見而不是必須。
4 w0 s9 c s- C& F9 D5 ?; D% T
4 {8 @. H. r3 U" B 我們再一次使用了include命令<? include ('links.x');?>(像在前面所解釋的)來增加鏈接。 6 r1 D3 q, M B$ |( s
. V2 D* Q. F$ S9 e/ H$ f% b 讓我們看一下add2tbl.php3腳本:
/ Y) J( S& s0 w9 ]7 Y& t$ u0 r% J& C+ y3 d7 {9 }
--------------------------------------------------------------------------------
/ b. C( [' s# |! C- ]( P<html>
3 c& \# _. f7 ~- B! Q+ s<body>
$ o, ?3 @$ [2 ?
" y+ v& u6 l+ c& I; y( h<? % [% F: F) F, {4 B# k }7 b
if ($UserName)
! ~" z* p% V( g% c2 c9 l& T{
( {2 H" l; I) Y1 M' S- w# zmysql_connect() or die ("Problem connecting to DataBase"); # f/ k& J5 |( \' Y
$query = "insert into tbl values ('$idx','$UserName','$LastName','$FreeText')";
2 G3 a) e$ P6 _8 w/ c) r$result = mysql_db_query("example", $query); 8 A9 _ r) H# j) o
# ]% ?, G1 R: J6 p9 \1 i Cecho "Data inserted. new table:<br><p></p>";
. c0 i* E& x& r( E" D- G$query = "SELECT * FROM tbl";
( k4 P# X- Y' P1 u" g. b$result = mysql_db_query("example", $query); . A* ^% t; K1 `5 i5 @/ }5 C
$ N! g) w& S4 D4 cif ($result)
4 x$ N) n, K% _$ `{
) d, O! _ G% R9 E3 Lecho "<table width=90% align=center border=1><tr>
* x0 f6 M" K) u e1 z+ ]) ]; A<td align=center bgcolor=#00FFFF>idx</td>
) r5 H5 ]' u1 j' @' y9 h<td align=center bgcolor=#00FFFF>User Name</td>
1 t& u7 s& |0 ?' `6 |. \8 K<td align=center bgcolor=#00FFFF>Last Name</td>
* m) ^ z. }" X3 Z- H! i<td align=center bgcolor=#00FFFF>Free Text</td> 8 i0 `" L/ [; K. G7 Z
</tr>";
; ~) n: {9 h0 {+ Q4 a% |8 o
; _, e" ?8 c( Iwhile ($r = mysql_fetch_array($result))
& [1 f% w1 r# u$ c" k{
2 g$ d% `3 L5 o# p* g1 s$idx = $r["idx"]; 8 M) Q1 Y& h+ e/ k) {
$user = $r["UserName"]; 2 p# T$ o O$ s: D# z% r
$last = $r["LastName"];
, f2 C- j0 i8 y0 P, m) p* U$free = $r["FreeText"];
4 ~. P6 ?8 `0 R9 s" K, P+ i1 n& w. j/ e
echo "<tr>
; @8 |: c1 ]! x9 h; ~( ]# p<td>$idx</td> 0 `1 B1 a9 o% T5 U
<td>$user</td> % o) S; \# {5 @7 _! x
<td>$last</td> & T/ O* U: S% g& h6 ?9 P
<td>$free</td> . [, \5 ]5 `( T, l
</tr>"; H) E; S5 J, C1 w% Q1 j
3 S- t; P" f J+ Z# v# p& T. f. V8 R} // while循環結束 0 W+ w2 i- p2 H3 S
echo "</table>"; * j$ n: l- [7 t2 l2 J: A& T4 U
} , @! |4 j* t1 M& W" e( R4 e$ x" F! `
else
9 m2 Y. `( [5 r4 z" J* F( G{
0 a+ x; @7 k3 v4 P N2 T% {echo "No data.";
( r0 J* c6 y% f [/ z7 c} // if結束($result)
5 H3 a/ l5 r. U% z}
2 l* L8 D t4 I7 T$ Celse % ^. w/ H0 I, s n( N. b) l0 g. k
{
2 [" O( @# K, S& ?) ^6 F8 N% X4 techo "No UserName Entered. Please go back and reenter UserName"; " S. j$ T9 S! y/ T
} // if結束($UserName) 2 j0 Q( T) J3 j' R6 y$ f
8 a: A# e) M6 U6 F8 aecho "<p></p>"; $ Z( H' U# w. E3 l' R! u* Y# e
9 z" U. E5 |# |9 i% R1 j
include ('links.x'); A" x" k9 c9 z7 |5 h
# M6 |8 J- Y, s, n
?>
5 h, N) W! w5 L5 V5 { N
: s. d* j4 b' h. x</body> . I/ u& ~+ D. f: q8 ]2 P
</html>-------------------------------------------------------------------------------- 0 W' y0 j- M% \4 P$ Z! X" P
解釋:
: J3 g) a8 }( j/ b: n( T! w
- ?8 O% C# ^& T' W& }6 Q+ F% o7 z f 這一部分包含兩個主要部分。第一部分從前一個表單中得到數據,並將它們插入到數據庫中。第二部分 " }+ ^: _& d1 R
從數據庫中打印出表的內容。第二部分同我在查看數據庫部分中所演示的一樣。
m2 E1 `* T0 p' z7 S2 }1 \
+ y2 {* B9 [$ K8 b 第一部分:
: ]" j5 A, }& f/ B/ K
; X3 G) K! }. y; D 首先我們象通常一樣使用mysql_connect()來同數據庫連接。 ) x# \ C( v2 @1 C
* l' M! V9 H% J5 q) r
然後我們使用下面查詢: : _/ R P: ^( K! q5 ~/ D
- j8 D# w2 j, @* U0 {1 }. b
$query = "insert into tbl values ('$idx','$','$LastName','$FreeText')";
: O1 }* c8 X1 r P0 U
# O9 S6 v/ S! Q, \' r( N- }, c 這個查詢使用從前面表單傳遞過來的$idx,$UserName,$LastName和$FreeTExt變量,並將它們插入到
9 V% @/ M; ]) ^ S' k' dtbl表中。
' B9 @$ z* v2 [; W% r3 ]. i" S$ p) F" I3 c
注意,我在腳本中所作的註釋。使用一個註釋可以用"//",服務器將忽略此行的後面部分。 . A% v) w4 Y" o8 X: ?' ]; d4 W
9 X2 O: z$ u/ a3 V' U8 y; R. | 簡單,不是嗎? / c; y1 r$ ?- ]4 R0 B F, X0 F
6 Y$ N: A1 _( l# J 從數據庫中編輯一條記錄:
) T N6 b# l3 H, F9 q1 K; @( N) O9 O- j& y; ]
讓我們假設一下,我們想修改數據庫中存在的記錄。在前面,我們看到有一個叫set的SQL命令用來設置 , z* s$ J9 ~' S& M( B
數據庫中存在字段的值。我們將使用這個命令來修改數據庫中的整條記錄。
$ }5 A5 i3 H" c+ x, D
' E" U1 j+ K5 T' T/ Q 考慮下面的腳本:
( @$ d. c2 }7 c! Y/ \) b G--------------------------------------------------------------------------------
: c o$ y9 {+ X% @# k2 c: ~edit.php3: , h2 l) W% D& f
1 ~; [' E% o0 T
<html>
: a2 _$ ?. j1 G. _/ e<head><title>Editing an entry from the database</title> . M( e% Q; \& z
</head> 2 z" K/ B7 B% \
# V2 N: @( S. E' C# V: n
<body bgcolor=#ffffff> 9 V: {3 n! ^$ A- N, D) V; R
<h1>Edit an entry</h1 7 ~/ H$ u, Q% c- V9 N
, j3 H' [% [* ]( _<?
$ s0 t# Z, |2 L: I" j& R7 t% `; Y: J7 M Z9 Z9 d% e5 z
mysql_connect() or die ("Problem connecting to DataBase"); ' V) f+ ]: {$ c
$query = "select * from tbl"; 5 L+ ^( j& K" {9 Q F
$result = mysql_db_query("example", $query); ( W6 a1 N1 S: ?' ~2 {
) w& J( }/ `1 p6 a5 _& \( ~( E
if ($result)
( k( P( J: s9 H0 g& O# u8 V{
4 ^; x* ?1 Z. G0 r3 jecho "Found these entries in the database:<br>";
' q/ E% B4 l0 b! N+ x; g6 techo "<table width=90% align=center border=1><tr>
3 I! `" V. `' x0 N4 x0 x<td align=center bgcolor=#00ffff>idx</td> - t/ o3 X7 [; T
<td align=center bgcolor=#00FFFF>User Name</td> 2 O$ ~; ?' R' H
<td align=center bgcolor=#00FFFF>Last Name</td> * V$ o: b6 A' Z8 K6 ~
<td align=center bgcolor=#00FFFF>Free Text</td>
' a+ R- ~9 a& ~2 v! L7 N</tr>"; ) ?. D9 h: u* b _
0 i8 V) g; [8 qwhile ($r = mysql_fetch_array($result))
& g+ }' z3 v3 H* q{
% K' U, ]" V( q$ v* _* E$idx = $r["idx"];
) }/ k3 y3 A& l" n5 l! J O) { ^$user = $r["UserName"];
* f9 d; _0 D: \. a6 G( P$last = $r["LastName"]; $ g+ e w( o" |8 O& I6 I3 Q
$text = $r["FreeText"];
* d# D0 H( s! B7 C. o
5 \9 M( y4 Z3 d6 H) u3 i3 D& hecho "<tr> ) D# w W9 o; P# H
<td align=center>
; U) ~! V" i" r2 ^3 M, |<a href=\"editing.php3?idx=$idx&user=$user&last=$last&text=$text\">$idx</a></td> ! d" Z' F4 g+ W' B7 ?
<td>$user</td>
! H/ A/ O: v& b$ R3 \6 C& b& L- U<td>$last</td> - [, g- O2 i, Y0 N
<td>$text</td> 1 o- C6 ]- h# H4 A+ z4 g! }( E
</tr>";
% x+ b; _ [$ j$ B
% j s; k# e7 _}
" c4 t& l* z; O: {5 _echo "</table>";
7 r5 z3 k4 V: ?& P" E; S}
% N9 T+ a5 E: o# q% A2 ~else ; l* ]2 H' J) ?: ] V1 \$ b6 Q. E5 c
{ 9 ]7 w) r$ v& j% D& p* L$ w
echo "No data."; & C+ p, a( d+ J3 D! {& C
}
, k! p1 `, Z9 N; N8 [5 ^; g4 a0 g: b" d7 g' q( D. F
mysql_free_result($result); ; T5 k' g) f- k: a
include ('links.x');
( {. U! E* | I
; E, y2 ~5 [5 ?0 Z: z7 J4 C3 f?>
: b# T& ~3 M7 F. t8 {$ f
3 t/ v: h5 o% a3 J</body>
# W4 W( x2 B4 v* N* U4 o</html>-------------------------------------------------------------------------------- 1 T& S8 |' Z; [! V+ C
如你所見,這裡的代碼有些熟悉。第一部分只是打印出數據庫中表的內容。注意,有一行不太一樣: 3 r. V1 ], K( p7 A1 d% F6 F
& a/ a+ |- G! i Z7 Y
<a href=\"editing.php3?idx=$idx&user=$user&last=$last&text=$text\">$idx</a> % g( h! }) [2 U5 n
9 {8 R. b4 U5 X# A! }
這一行建立了一個到editing.php3的一個鏈接,並且給新的腳本傳遞了一些變量。同表單方式很像,只
$ Q1 {# d& g1 H; }9 O T是使用的是鏈接。我們將信息轉換成:變量和值。注意,為了打印出 " 符號,我們需要使用 \"否則服務器 6 _! F# p5 p* U. {
將把它看成PHP腳本的一部分並且作為被打印的信息。
& Y9 U( K8 L* m- ~: |
: {& H5 N Y8 Q! p2 r8 r; R9 W 我們想將數據庫中的記錄全部轉換到過,這樣我們就可以得到表中的確切的數據,以便我們修改它容易
; R3 [+ K" H: {一些。 , d8 {* T8 @ g
, B8 ^6 F1 }9 V-------------------------------------------------------------------------------- $ X% G% }, X( i( z' w$ b) Y: f: t
Editing.php3: ( _2 |- h, @# ?$ i7 e
! X& ?! |/ Y6 ?6 S" s. s<html>
; S/ z6 ^* W8 V1 [( X) Y( r<head><title>Editing an entry</title> ; p* l4 s& z+ x0 q1 [& e0 {4 k
</head>
* W( J$ q9 p( G( R8 X4 X6 v" ?# Y; y6 Z5 @- y5 S+ W
<body bgcolor=#ffffff> & S$ }. F( D7 C- q# A
<h1>Editing an entry</h1> / v9 d9 A2 d% }- ^# u
<form method="post" action="editdb.php3">
0 P7 |. c; l- v( c+ v4 L4 M" N( q; t9 I+ X* B( ~' }
<table width=90% align=center> 1 ^: @/ n- Y' J5 O- A
/ Q: B% i& p+ q) S8 ]<tr><td>idx:</td><td><?php echo "$idx";?></td></tr> 6 p( O$ j. n, E: v
- A$ P6 p0 `% n/ H" L
<tr><td>UserName:</td><td><input type=text name=UserName size=40 maxlength=100
3 S8 z* g+ _0 ^4 \% `( b' `6 o# Ivalue="<?php echo "$user";?>"></td></tr>
3 N* o" l7 m8 I7 W" t% K
5 m/ R8 Y" Y6 k( [! i+ g% Z6 O* g0 {1 @<tr><td>LastName:</td><td><input type=text name=LastName size=40 maxlength=100
$ |$ b' d( ~* p$ C3 {7 tvalue="<?php echo "$last";?>"></td></tr> # R0 \7 Z7 `7 U% T, L2 M
4 b% R& G% O3 A: }; C. w$ R0 Q<tr><td>Free Text:</td><td><input type=text name=FreeText size=40 maxlength=100
- g" V/ I2 j6 f0 ~( S8 g% u5 Uvalue="<?php echo "$text";?>"></td></tr> |