include的語法是:
" `' ?/ A3 V+ H" K) R# l# f; c: g! j3 v6 {) A
Include ('included_text_file'); 8 b3 t' q. ?: j. q# h7 Y
- r: A) x' ~& s8 s$ ~ 現在我們可以用?>來關閉PHP部分,並且用</body></html>來結束html頁面。
* [. `; {; q$ J' K: F# P, P' O6 r+ p& H& Y0 B. q1 ~
使用表單增加數據 " b( ]8 W% g" s! h2 n9 E- d" P
8 |! j$ R- H' w! Z& y+ S# r2 ?
讓我們看一下下面的代碼:
, V$ e% Q" _) [9 \
/ K m+ G( a6 g$ `--------------------------------------------------------------------------------
: b6 [4 F+ p. W5 J* J+ |8 R<html>
7 h" E5 Z# z% C; E% G9 T<head><title>Add an entry to the database</title> ) N: Y n6 T3 v) D
</head> & e4 g3 i4 j' r4 j* G
<body bgcolor=#ffffff>
" ^, i8 M+ ~! V& F9 J' Y" R
5 H; Q! ?- D( J |. v+ e<h1>Add an entry</h1> 9 q- ^9 i, T( ?6 K
1 z& u- `- O2 O. z; f/ \<form method="post" action="add2tbl.php3">
% x A! L/ t; n# z9 |<table width=90% align=center> & F/ }% K4 E4 g& Y8 z
; X* E8 V1 g( V( R2 A* h5 O. b- q$ `<tr><td>Index:</td><td><input type=text name="idx" size=3 maxlength=3></td></tr> * z# Z% @$ h. r: e# f3 A3 l
6 K3 e+ B% ?- T R3 b8 W5 u<tr><td>UserName:</td><td><input type=text name="UserName" size=40
. r8 f" S# {. g4 Xmaxlength=100></td></tr>
" ]0 w, Y- K Z" V/ Y& t9 O7 Y# }
$ E, \! ~& G* |<tr><td>LastName:</td><td><input type=text name="LastName" size=40 + T( { [" w/ ~; j1 T* U* i
maxlength=100></td></tr>
% _/ s3 N' {/ j8 h
1 a; K* o, t* o; N# [* k- ~( v<tr><td>FreeText:</td><td><input type=text name="FreeText" s=40 maxlength=100></td></tr>
* `( E' y1 z5 m8 U( ]+ h) z5 p" X" L5 N" U0 T# K6 Y/ j7 J
<tr><td></td><td><input type=submit value=add></td></tr> ( ^2 p$ y1 h/ q& l6 ~; w
3 s5 u5 D9 @% j
</form> # z B1 f8 B( Y; k3 {
</table> - e; _; Q5 A& u. h6 e+ F
$ N. z& L. u# y' D, J0 D<?php include ('links.x');?> & A5 g9 [& H8 j# H; k/ L2 X, d) j
: I. Q# c, d9 |) t. _# K- O
</body> 6 J4 E! }4 e: {6 e- H. }4 Y$ V E) R
</html> 2 } e6 R0 o" W4 G) e5 T5 \9 O
-------------------------------------------------------------------------------- 4 X4 X5 a; f6 ~( N$ q) h0 @) ?) ?
假設你對表單很熟悉,這是一個相當簡單的腳本。我們根據html頁面設計了一個表單,它在提交後調用
$ |/ T' D9 x9 ?add2tbl.php3腳本。現在,表單與MySQL表相對應由4個字段組成:index number,FirstName,LastName和
# \7 A N) v- L+ g7 Q0 iFreeText。注意在這個表單中字段名字與MySQL表中字段名一樣,但這只是為了方便起見而不是必須。
4 o1 }- h9 U% ?- s' G
( _$ @! u& T1 S5 G' ^/ Y' O0 D' k2 @ 我們再一次使用了include命令<? include ('links.x');?>(像在前面所解釋的)來增加鏈接。
( {! U1 k$ M% T% t7 c5 E& G( }/ J5 r: y- D3 d# k7 J( V1 F
讓我們看一下add2tbl.php3腳本:
8 t' w/ P& l5 v5 u' B0 c- ~7 r
; s9 Y- v$ s- X: @--------------------------------------------------------------------------------
! q7 C/ `+ E/ m N& C9 p! X<html>
6 e' S, R* R ]6 K7 \( i6 ? z<body>
0 s5 i" x8 e) N+ e; J2 I3 t
6 p- R# d; d2 V( }/ v$ l% m<? ) }7 \! j- i' K( ^3 p
if ($UserName)
& [) O. u: i k$ ]# g1 `8 _) y{
* ^4 b$ _" F* M9 Gmysql_connect() or die ("Problem connecting to DataBase");
9 F: \7 M6 b, b& E; C$ l) J. F/ ]$query = "insert into tbl values ('$idx','$UserName','$LastName','$FreeText')";
: i$ |. J& w( J$ l$result = mysql_db_query("example", $query); 0 s9 `6 [( ]7 \/ o8 V5 F* z
1 Z! |# J2 [ techo "Data inserted. new table:<br><p></p>";
" n. s3 h' i6 n: j/ `$query = "SELECT * FROM tbl"; & l/ F* ^0 A1 j, Q$ u% d; S
$result = mysql_db_query("example", $query);
. X9 g1 C2 ` r7 T$ B' [8 k/ {: s2 W- s2 }
if ($result) " R& {2 n+ A( |- G) N
{
% j( H2 P0 z" c# V* U+ Cecho "<table width=90% align=center border=1><tr>
, V% g6 q2 N! T) t( S; A<td align=center bgcolor=#00FFFF>idx</td> 2 D' u: S9 n, _7 W- @8 _6 @
<td align=center bgcolor=#00FFFF>User Name</td>
3 V# J# \3 w. j9 W9 B7 \" s, _# ^<td align=center bgcolor=#00FFFF>Last Name</td>
+ N1 }. i/ |0 {2 I* C' k; h! B9 o<td align=center bgcolor=#00FFFF>Free Text</td>
) D3 w1 R1 \& D% d</tr>";
- {% L# x" ?$ R4 ?- I9 ~% }% W$ ~, Q
2 u) @# H$ u% V3 zwhile ($r = mysql_fetch_array($result))
5 t x7 f8 T, u. T P+ x{ ' u: l5 N3 Q! o/ k+ a" ^0 X1 |
$idx = $r["idx"];
# w8 Q, x" T$ G& w* E) J( Z: ^$user = $r["UserName"];
' D# W. W; |* p2 m7 g$last = $r["LastName"];
, [/ i$ F @2 K& u4 l6 T: e& W! {$free = $r["FreeText"]; & e& ~3 j9 a! S5 j6 P: t+ ]6 ?9 G8 R
5 h7 J9 L7 b7 m$ D$ Z/ iecho "<tr> 5 Y; C$ M4 z" `! b6 u5 J3 G
<td>$idx</td> ! `5 l, u+ e% P9 P, K3 e, S
<td>$user</td>
" s$ r( V/ P8 P7 @<td>$last</td> ( y; [# `' q$ l) u0 I# L
<td>$free</td> ; P7 ^# p$ W0 @6 j P& E; r
</tr>";
. u: B& u, o5 W' T7 @
; W9 M1 L& i) Z& \8 z; s} // while循環結束 6 ` I+ L" M5 z; e( u
echo "</table>";
" |2 f- J; t! I& R' r- x- s, a$ F} 8 h6 j3 X2 a; s K! l
else ( X$ |- b" L1 [7 o, J, v
{
- z: e* T5 r& Y. P+ \6 Cecho "No data.";
4 c% B6 E8 G. ]; ~: t+ @' ~} // if結束($result)
7 V/ d( F0 }/ \}
& ]* a6 b+ @2 T3 d1 Welse
$ q7 e" D! m* t3 o) U$ E{
: o$ e7 R f$ d1 W( g h, necho "No UserName Entered. Please go back and reenter UserName";
2 u& `' r: K. Z3 ?' X} // if結束($UserName)
9 w, \, {& W6 E8 H# h) a
. H' A5 ~+ Y b b- S6 i( ?echo "<p></p>"; 1 u6 l/ L# @- t$ q
' b! k8 I2 n7 [, ]* n
include ('links.x'); 4 u9 N4 @# a. F i
" v4 g) o, l) }) f. \, ~. j?> : G! z1 J2 i# G* k8 p2 D' U! B
! g( b" Y& p- W: y5 E</body> & P# s) c W' s; Q! [# k$ _: Y
</html>--------------------------------------------------------------------------------
2 b% J6 L3 H0 G" u) [; ~8 y% W解釋: - c) A0 H' M5 I5 ]' n! ~7 d2 I0 @
1 T% ]: {( I" W6 N: r( Z
這一部分包含兩個主要部分。第一部分從前一個表單中得到數據,並將它們插入到數據庫中。第二部分 7 P. h9 W. ~! W C" U9 g' O
從數據庫中打印出表的內容。第二部分同我在查看數據庫部分中所演示的一樣。 9 a1 Z" D6 S5 x$ g) b
3 R. a k5 m9 U( \4 O
第一部分:
4 V" ^' F9 b$ N7 K: T8 H
+ t' d# @% w0 u) v+ m 首先我們象通常一樣使用mysql_connect()來同數據庫連接。 # r% X; n, t1 }* q
, W: H' d' p" ~( n' t. ?
然後我們使用下面查詢:
* O+ I1 |& O1 o0 p& G& l6 J! s6 \
, _. B! I( M {+ I0 w$query = "insert into tbl values ('$idx','$','$LastName','$FreeText')";
) j. N' V. M% [+ U( Y( B- d1 f! j- j/ p% d7 A4 u5 l$ e2 D
這個查詢使用從前面表單傳遞過來的$idx,$UserName,$LastName和$FreeTExt變量,並將它們插入到
& O% I& u- m7 w1 m: c, utbl表中。 1 k9 j7 ]) P# N( _) l, G) U/ U$ _1 X# M
% w* V+ n( T3 E, O/ i3 p
注意,我在腳本中所作的註釋。使用一個註釋可以用"//",服務器將忽略此行的後面部分。
% D# P7 |5 I3 h; u& R: a% B- F# e6 X2 g; ~+ E) K" d- d
簡單,不是嗎?
( X) f7 k3 e) \8 {0 S+ _
, W# e8 n2 O1 O6 Z V4 R6 a 從數據庫中編輯一條記錄: & [& i0 c+ T/ h* `3 T
/ z- S% ?7 x% I 讓我們假設一下,我們想修改數據庫中存在的記錄。在前面,我們看到有一個叫set的SQL命令用來設置
Y) t. @7 K4 m數據庫中存在字段的值。我們將使用這個命令來修改數據庫中的整條記錄。 2 y) D6 u. t6 D: P
& B/ u3 ` f. W5 C& a4 R 考慮下面的腳本: 1 [4 y* ~( A! k' Z3 P: ?
-------------------------------------------------------------------------------- ; m) d0 e& W- [7 q* l+ ]
edit.php3:
. S6 L7 w( D- {5 q, |% b/ O6 Q1 ~) i/ E3 J$ k4 C! M
<html> / s% G) z* Y* ?- G9 g2 ^1 j
<head><title>Editing an entry from the database</title>
$ L6 t5 M6 C9 z+ K</head>
3 r3 t$ _+ o. O
9 F: N$ N" w$ g5 ~" U<body bgcolor=#ffffff>
& g: G3 K$ C8 R( v<h1>Edit an entry</h1
# K. [# B! t2 g9 N" h. {- p9 A" Z
& |4 b3 r" ]; ?0 A<?
( N( c) ]9 c8 b5 g: n5 ?; O) c$ R! I% w. z
mysql_connect() or die ("Problem connecting to DataBase");
, u4 R5 t! M, C' `% B$query = "select * from tbl"; & @7 k V! a/ Z( x& _3 N, H
$result = mysql_db_query("example", $query); 1 P9 ? m# W' z2 a" b
; w3 U* e, Q1 { Q Y3 w
if ($result)
% z0 C6 q( S5 C. n3 C$ e{
8 E; M' v9 B+ M! K0 t2 Decho "Found these entries in the database:<br>"; . h/ L( G6 M1 @
echo "<table width=90% align=center border=1><tr>
! U9 t/ }' P4 m: Q<td align=center bgcolor=#00ffff>idx</td>
& @$ ^% B: ~4 U1 N) m<td align=center bgcolor=#00FFFF>User Name</td>
0 A$ m0 a, ^) t- k<td align=center bgcolor=#00FFFF>Last Name</td>
. G( f( i7 F' P4 Q1 m0 C<td align=center bgcolor=#00FFFF>Free Text</td>
! B3 v" d6 o% I0 N</tr>"; % w J: `% k- U9 R% `* o: X3 |1 _5 d
- C# M6 Q* D- o" }9 fwhile ($r = mysql_fetch_array($result))
1 W5 r- K5 P# O, }2 N$ ?{ 7 E0 U0 v1 f! | T0 {
$idx = $r["idx"]; ( I, J9 Y- G8 G7 G
$user = $r["UserName"]; " }2 g+ Z. @8 K8 I' v9 x
$last = $r["LastName"]; * j- Y% m; ?' @! v
$text = $r["FreeText"];
* k; r9 q. w2 S/ \. j. u' s
* E: C: e; ~. ]. i9 z$ q* lecho "<tr>
, O5 j, O& {* q. J5 p& A<td align=center> & J$ u' d* g0 }( Q
<a href=\"editing.php3?idx=$idx&user=$user&last=$last&text=$text\">$idx</a></td>
q& E0 O, w" Q; y5 y<td>$user</td>
% L% l( ]9 Y; q, b( n: ?<td>$last</td>
D0 z+ A, @8 g* X<td>$text</td> . Y, ~$ {; X" b! N5 X
</tr>"; : L( T* Y$ f8 I/ L. d( t
, ]7 a& d' ?/ S' T; b}
; G- @0 p( j0 e9 u& {- t) Gecho "</table>";
" ]# x' U+ z4 t6 r* {}
9 h' Y2 K+ @! Z* o1 K- jelse ; M; t6 O0 A8 N+ o. `& e
{
- E; y* D$ R( C. fecho "No data."; % o. v8 Q3 }9 s# j3 N4 `
}
7 ^0 n% N! ]1 i! @. c
6 X7 E2 ~2 V5 ~0 S; Dmysql_free_result($result);
, }+ l8 f9 z8 \4 @0 J, I9 `) Qinclude ('links.x'); 4 @+ i; \5 H, K0 N6 k9 u( f
1 w7 F# k: e) @6 B; t+ e5 N?> ' R! z1 t% V' P5 A* w
* t% T* s2 I1 W3 e! ^$ C5 r
</body>
' x6 r' q# K2 A/ e1 J) ?. U. z( g</html>-------------------------------------------------------------------------------- " v& a# ^) V! t6 x; G/ \% L
如你所見,這裡的代碼有些熟悉。第一部分只是打印出數據庫中表的內容。注意,有一行不太一樣:
z. i; t+ c# @' N% H, `) h. p1 ~7 J0 n& [
<a href=\"editing.php3?idx=$idx&user=$user&last=$last&text=$text\">$idx</a> 8 @9 n# f6 \' |" o, P
: z0 Q g$ r6 g4 n! M8 n K( g 這一行建立了一個到editing.php3的一個鏈接,並且給新的腳本傳遞了一些變量。同表單方式很像,只 7 {2 U% l, r2 ~# z$ Q8 ^
是使用的是鏈接。我們將信息轉換成:變量和值。注意,為了打印出 " 符號,我們需要使用 \"否則服務器
3 [6 N1 \) l7 T- L7 D將把它看成PHP腳本的一部分並且作為被打印的信息。 ( z& d. V B* ~8 I# d" K; S8 L5 s7 p
! P/ Q' A' d( X' k
我們想將數據庫中的記錄全部轉換到過,這樣我們就可以得到表中的確切的數據,以便我們修改它容易 & l. [& I) f" V
一些。
4 D4 H! G5 L2 z: j$ N% D0 H/ U! B
9 [' y& W9 k5 k p! A1 l-------------------------------------------------------------------------------- # I+ V- V6 F3 C, U
Editing.php3: ' x7 `+ n7 D" H( f0 @- [
- k6 G l Y, W% ?6 T; Y
<html>
7 C& s- _8 `2 F. t+ R+ |1 P<head><title>Editing an entry</title> % t; ~7 J/ X: n& s3 E
</head>
8 e" ]- P! a! ^. w% L2 C
9 {3 n+ I7 e+ d6 \$ E<body bgcolor=#ffffff>
8 P3 P D& u0 t8 p1 }* `, P( }<h1>Editing an entry</h1> 9 V% C4 W. r- I% n( \
<form method="post" action="editdb.php3"> ~$ q4 u! H) `0 j
! c4 }+ \ Z7 j- ~2 x @. q
<table width=90% align=center> # q, |! `6 g5 L, i7 r
1 \) y5 R6 H! g7 ]4 I9 }+ M7 A
<tr><td>idx:</td><td><?php echo "$idx";?></td></tr> 4 S0 F7 m5 V3 M* c9 \3 L; F$ Y% x
; B: H/ }7 A+ i. n. S6 n9 Q' P<tr><td>UserName:</td><td><input type=text name=UserName size=40 maxlength=100 " ?9 y7 p a2 Y
value="<?php echo "$user";?>"></td></tr>
# \" T) G L6 j! q% A {7 V8 j' d; U, O5 S
<tr><td>LastName:</td><td><input type=text name=LastName size=40 maxlength=100 7 S* Q' }8 {3 ?) q( ~" |3 I
value="<?php echo "$last";?>"></td></tr>
/ j$ _( m' T5 F" k) @( ]/ t, B* p/ k/ P7 [# M- J, m U
<tr><td>Free Text:</td><td><input type=text name=FreeText size=40 maxlength=100
2 w [! p, w9 M( }7 uvalue="<?php echo "$text";?>"></td></tr> |