ホームページ  >  記事  >  バックエンド開発  >  PHP とデータベースを組み合わせた簡単な Web サンプル コード分析 (PHP 初心者向け)_PHP チュートリアル

PHP とデータベースを組み合わせた簡単な Web サンプル コード分析 (PHP 初心者向け)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:25:30815ブラウズ

ただし、多かれ少なかれ Windows 固有の手順が含まれるインストール部分を除けば、残りの部分はすべてのプラットフォームで同じです。ちなみに、取り付け部分については、当サイトの取り付けガイドをご覧ください。このチュートリアルでは、PHP と MySQL の次の機能を使用して、段階的に小さな Web サイトを構築します。
1. データベースを表示します。
3. データベース レコードを変更します。データベースからのレコード。
MySQLとPHPを同時に学び、一緒に感じていきます。 Apache+PHP+Mysql のインストール方法と設定方法がわからない場合は、Web 教育ネットワークの関連記事を参照してください。
最初に Web サーバーを実行します (PHP 拡張機能が追加されています)。MySQL を実行します。
MySQL データベースの作成と操作:
まず、使用するデータベースとテーブルを作成する必要があります。データベースの名前は「example」、テーブルの名前は「tbl」で、識別番号、名、姓、および情報のフィールドがあります。 mysql ターミナルを介してデータベースの作成とテーブル定義の作業を完了するには、c:mysqlbinmysql.exe をダブルクリックするか実行するだけです。
どのテーブルが MySQL に定義されているかを確認したい場合は、次のコマンドを使用できます (mysql> がターミナル プロンプトであることに注意してください)
このコマンドは次の情報を表示する場合があります:
+- -- -------+
|
+----------+
| rows in set (0.01 秒)
新しいデータベース (例) を定義するには、次のように入力します。
Mysql> create database example
次のような応答が表示されます:
Query OK, 1 row according to (0.17 sec)すばらしい、新しいデータベースができました。これで、ライブラリに新しいテーブルを作成できますが、まず新しいデータベースを選択する必要があります:
Mysql> use example;
答えは次のようになります:
データベースが変更されました
これでテーブルを作成できます。次のフィールド:
インデックス番号 - 整数
ユーザー名 - 最大長 30 の文字列
ユーザーの姓 - 最大長 50 の文字列
無料情報 - 最大長 100 の文字列
次の場所に入力しますMySQL プロンプト テーブルを作成するコマンド:
MySQL> create table tbl (idx integer(3), UserName varchar(30), LastName varchar(50), FreeText varchar(100));
答えは次のようになります。 :
クエリは OK、影響を受ける行は 0 件あります (0.01 秒)
MySQL プロンプトからテーブルがどのようになるかを見てみましょう:
show columns from tbl
次の結果が得られます。 :
+----------+------+------+-----+------ ---+------+
フィールド | デフォルト | ---+-----+-----+----------+-----+
| NULL | | varchar(30) | varchar(100) | -------------+------+-----+-------------+---- ---+

4行set (0.00 秒)
ここでは、先ほど作成したテーブル「tbl」の内容を確認します。
それでは、表の内容を見てみましょう。次のコマンドを入力します:
MySQL> select * from tbl;
このコマンドは、テーブル "tbl" 内のすべてのデータを表示するために使用されます。出力は次のようになります:
空のセット (0.07 秒) この結果が得られる理由は、まだテーブルにデータを挿入していないためです。テーブルにデータを挿入して、次のように入力してみましょう:
MySQL> insert into tblvalues (1,'Rafi','Ton','Just a test'); クエリ OK、1 行が影響を受けました ( 0.04 sec)
上記のとおり、デフォルトの順序が使用されているため、テーブルに挿入する値は、前にテーブルを定義した順序になります。データの順序を設定できます。構文は次のとおりです:
MySQL> insert into tbl (idx,UserName,LastName,FreeText) names (1,'Rafi','Ton','Just a test'); それでは、テーブルの内容をもう一度見てみましょう:
MySQL> select * from tbl;
今回の結果は次のようになります:
+------+--- -------+----------+---------------+
ユーザー名 | +----- -+ ----------+----------+---------------+
1 | ちょっとテスト |
+ ------+----------+----------+-------------+
セット内の1行(0.00秒)
これでテーブルの構造と各セルの内容が確認できました。
今度はデータを削除したいと思います。これを実現するには、次のように入力する必要があります:
MySQL> delete from tbl where idx=1 limit 1; Query OK, 1 row according to (0.00 sec)
それでは、少し説明します。MySQL に対して、「tbl」テーブルからレコードを削除し、idx フィールド値が 1 のレコードを削除し、削除を 1 つのレコードのみに制限するように指示しています。削除されるレコードの数を 1 に制限しない場合、idx 1 を持つすべてのレコードが削除されます (この例ではレコードは 1 つだけですが、これをより明確にしたかっただけです)。
残念ながら、また空のテーブルができてしまったので、再度入力してみましょう:
insert into tbl names (1,'Rafi','Ton','Just a test'); OK、1 行が影響を受けました (0.04 秒)
もう 1 つの方法は、指定したフィールドの内容を変更し、「update」コマンドを使用することです。
MySQL>update tbl set UserName='Berber' where UserName=' Rafi';
クエリ OK、1 行が影響されました (0.01 秒)
一致した行: 1 変更されました: 1 警告: 0
このコマンドは、ユーザー名が「Rafi」であるすべてのレコードを検索し、それを「Berber」に変更します。 set 部分と where 部分は同じである必要はないことに注意してください。 1 つのフィールドを検索しても、別のフィールドを変更することができます。さらに、2 つ以上の条件で検索を実行することもできます。
MySQL>update tbl set UserName='Rafi' where UserName='Berber' and LastName='Ton';
クエリ OK、1 行が影響を受けました (0.04 秒)
このクエリは 2 つのフィールドを検索します。 UserName


PHP と MySQL の組み合わせ
このパートでは、前に作成した MySQL テーブルを制御するための単純な PHP ベースの Web サイトを作成します。
次のようなサイト構造を構築していきます(HTMLの基本的な知識はすでに知っていると仮定します):
1. フロントエンドでテーブルを表示するためにindex.php3が使用されます 2. テーブルにデータを挿入するためにadd.php3が使用されます
3 . Modify.php3 テーブル内のレコードを変更するために使用されます 4. del.php3 はテーブル内のレコードを削除するために使用されます
まず、データベースを確認し、次のスクリプトを見てみましょう:
------- ---------------------------------------------------- --------- ---------------
Index.php


Webデータベースサンプルインデックス ;

< ;body bgcolor=#ffffff> $result = mysql_db_query("example", $query);
if ($result) {
echo "データベース内に次のエントリが見つかりました:

";
echo "< table width=90% align=center border=1>
ユーザー名

ドメイン名
{
$id × = $r["idx"];
$last = $r["LastName"]
Echo "< tr>
$idx
"; ql_free_result($result );
?>

--------------- -------- ------------------------------------------ -------- -
それでは、ここでいくつかの手順を説明します:
まず、通常の HTML タグを使用して thml ドキュメントを作成します。 html から PHP に転送する場合は、 を使用して PHP 部分を終了します。
mysql_connect() コマンドは、PHP に MySQL サーバーへの接続を確立するように指示します。接続が正常に確立された場合、スクリプトは続行されます。そうでない場合は、「データベースへの接続の問題」という die コマンド情報が出力されます (mysql_connect およびその他の PHP 関数の詳細については、http: //www .php.net の下のドキュメントで見つけてください)。
さて、上で説明したように MySQL がインストールされていれば、それで十分です。ただし、プリインストールされた MySQL (ISP など) を使用している場合は、次のコマンドを使用する必要があります:
mysql_connect (localhost, username, password);
MySQL で実行したいクエリを $query に設定できます。次に、mysql_db_query コマンドを使用して実行します:
$result = mysql_db_query("example", $query);
このとき、「example」はデータベースの名前を表し、$query は実行されるクエリです。
テーブルからすべてのデータを取得するには、MySQL コマンド select (上で説明したように) を使用します。
$query = "select * from tbl";
実行が成功すると、関数は次のようになります。 return クエリ結果の MySQL 結果識別子、またはエラーが発生した場合は false。返されるのは結果ではなく識別子であり、後で必要な情報に変換できます。
ここで、データベースにレコードがあるかどうかを確認し、レコードがある場合は、htmlのテーブル構造に従って結果を出力したいと思います。データが存在するかどうかを確認するには、次の構文で if コマンドを使用します。
if (引数) {
「何かをする;」
} else {
「何か違うことをする;」
}
このとき「何かをする」 when argument= true の場合に実行したいコマンド、「何か違うことをする」は argument = false の場合に実行したいコマンドです。
HTML テーブル構造を確立するために、echo コマンドを使用していくつかの HTML タグを出力していることに注意してください。 PHP コマンドからのテキスト出力のみが HTML コンテンツとして扱われます。PHP コマンド自体は HTML コンテンツとして扱われません。使用するもう 1 つのコマンドは while 命令です。形式は次のとおりです。
while (argument)) {
"something to do";
}
argument=true の場合、while ループが継続的に繰り返され、{} 命令で実行されます。セット。
ここではwhileループとPHP関数$r=mysql_fetch_array($result)を組み合わせています。この関数は、対応する結果識別子に基づいてレコードを取得し、フィールド名を配列キーとして使用して結果を連想配列 $r に配置します。私たちのスクリプトでは、配列 $r['idx']、$r['UserName']、$r['LastName']、
$r['FreeText'] を取得します。
結果を順序付けされた配列に入れる mysql_fetch_row 関数を使用することもできます。$r[0]、$r[1]、$r[2]、および $r[3] を使用して、対応する値を取得できます。 。 。
すべての情報が揃ったので、それを HTML テーブルに出力できます:
以下は引用された内容です:
echo "
$idx

$last
mysql_free_result($result) 関数を使用します。
PHP のもう 1 つの便利な機能は、スクリプトにテキスト ファイルを含めることができることです。再利用可能なコード (他のページへのリンクなど) があるとします。 include 関数を使用すると、コードと時間を節約できます。さらに、このコードを変更したい場合は、インクルードされたファイルの内容を変更するだけでよく、そのコードはそのコードを含むすべてのファイルに反映されます。
ここでは、各ページで使用するすべてのリンク メニューを保存する Links.x というテキスト ファイルを作成します。


php3">データベースに新しいエントリを追加
  • エントリを編集
  • データベースからエントリを削除します

    include ('include_text_file');
    今すぐ?> を使用して PHP 部分を閉じ、 を使用して HTML ページを終了します。
    表单增加データ让我们看一下下面代码:
    -------------------------------------- ----------------------------------------

    データベースにエントリを追加


    エントリを追加



    <表幅=90% 整列=中央>
    インデックス:   ユーザー名: maxlength=100>
    LastName: maxlength=100>   フリーテキスト:   





    ------------------------------------------------- -------------------------------
    表の詳細を熟知しており、これはかなりの独自の脚本です。テーブル セクションにはテーブルが設定されており、そのテーブルは、転送後に add2tbl.php3 スクリプトで指定されます。このテーブルは、MySQL テーブルに対して、インデックス番号、FirstName、LastName、FreeText の 4 つのフィールドで構成されています。注意してください。このテーブル内のフィールド名は MySQL テーブルにあります
    もう一度 include コマンド(前の例にある) を追加して接続します。 -------------------------------------------------- ---------------

    <体>
    <?
    if ($UserName)
    {
    mysql_connect() or die ("データベースへの接続の問題");
    $query = "tbl 値に挿入 ('$idx','$UserName','$LastName','$FreeText')";
    $result = mysql_db_query("example", $query);
    echo "データが挿入されました。新しいテーブル:

    ";
    $query = "SELECT * FROM tbl";
    $result = mysql_db_query("example", $query);
    if ($result)
    {
    echo "




    ";
    while ($r = mysql_fetch_array($result))
    {
    $idx = $r["idx"];
    $user
    注意、私は脚本内で作成した注釈。使用する注釈は「//」を使用でき、サーバーはこの行の後の部分を省略します。次に、データベース内に存在するフィールドの値を設定するために、1 つのセットを持つ SQL コマンドを使用することを考えました。以下の書き込み:
    ------------------------------------------ -----------------------------------
    edi​​t.php:



    复制代码

    代码如下:


    データベースからのエントリの編集


    エントリを編集

    mysql_connect() or die (「データベースへの接続の問題」);
    $query = "select * from tbl";
    $result = mysql_db_query("example", $query);
    if ($result)
    {
    echo "データベースでこれらのエントリが見つかりました:
    ";
    echo "
    idx ユーザー名 フリーテキスト





    while ($r = mysql_fetch_array($result))
    {
    $idx = $r["idx"];
    $user = $r["ユーザー名"];
    $last = $r["LastName"];
    $text = $r["FreeText"];
    echo "


    }
    echo "
    idx ユーザー名

    $idx< /td>
    $user $text
    ";
    }
    else
    {
    echo "データがありません。";
    }
    mysql_free_result($result);
    include ('links.x');
    ?>




    ------------------------------------------------- ---------------------------------
    お気づきのとおり、ここのコードには十分な内容が含まれています。最初の部分は印刷されたものです。注意、一行不太一样:
  • $idx
    この一行は、editing.php3 への接続を確立し、新しいスクリプトにいくつかの量を渡しています。同じ表形式の例であり、使用されているだけです。 「 」 マークを出力します。サーバーがそれを PHP スクリプトの一部として認識し、印刷される情報として認識するかどうかを使用する必要があります。データは、私たちが簡単に修正できるようにするためにいくつかあります。
    ----------------------------------------------------- ----------------------------------------
    Editing.php



    复制代码
    代码如下: エントリの編集

    エントリを編集



    <表幅=90% 整列=中央>
    idx:
    UserName: value="">gt;
    LastName: value="">gt;
    フリーテキスト: value="">

    ">






    ------------------------------------------------- ----------------------------------
    さて、このスクリプトはとてもシンプルです。注意する必要があるのは、フォームを印刷するときに、現在記録されているデータが コマンドの value 属性を通じて記録されるということです。このデータは前のページから渡されます。
    記録された情報を変更しない場合、デフォルト値である現在の値が返されます。フィールドの値を変更すると、フィールドの値は新しい値に変更されます。次に、新しい値を別のスクリプトに渡すと、MySQL テーブルの値が変更されます。
    ------------------------------------------------- - ---------------------------------
    edi​​tdb.php:
    コードをコピー コードは次のとおりです。以下:

    mysql_connect() or die ("DataBase への接続の問題");
    $query = "update tbl set
    idx='$idx',UserName='$UserName',LastName=' $LastName',FreeText ='$FreeText' where
    idx='$idx'";
    $result = mysql_db_query("example", $query);
    $query = "SELECT * FROM tbl";
    $result = mysql_db_query ("example", $query);
    if ($result)
    {
    echo "データベース内に次のエントリが見つかりました:

    "; 90% align=center border=1>
    idx
    ユーザー名 =#00FFFF>姓
    フリーテキスト
    ";
    while ($r = mysql_fetch_array($result))
    {
    $idx = $r["idx"];
    $user = $r["UserName"]
    $text = $r["FreeText"]; "& lt; tr & gt;
    & lt; td & gt; $ IDX & lt;/TD & gt;
    & lt; TD & gt; $ user & lt;/td & lt; td & lt; gt;
    & lt; td & gt; mysql_free_result($result);
    > --------------------------------- ------------------- -----------------------
    基本的に注意すべき点は次の行です:
    $query = "update tbl set idx='$idx', UserName='$UserName',LastName='$LastName',FreeText='$FreeText' where idx='$idx'";
    注、これは前の MySQL セクションで説明したのと同じ構文です。もう 1 つ、このスクリプトは idx=$idx のレコードを変更することに注意してください。idx が $idx に等しいレコードがテーブル内に複数ある場合、これらのレコードはすべて変更されます。より厳密にしたい場合は、where 句を次のように変更できます:
    $query = "update tbl set idx='$idx',UserName='$UserName', LastName='$LastName',FreeText='$ FreeText' where idx='$idx' and UserName='$UserName' and LastName='$LastName' and FreeText='$FreeText'";
    この構文は idx だけでなくすべてのフィールドをチェックします。
    データベースからレコードを削除します:
    はい、削除は簡単です。まだ 2 つのスクリプトが必要です。1 つは削除するレコードを選択するスクリプト (基本的には上記で編集するレコードを選択するのと同じです)、もう 1 つは実際に削除して新しいテーブルを印刷するスクリプトです。
    ------------------------------------------------- - ----------------------------
    del.php



    コードをコピー

    コードは以下の通りです:


    データベースからのエントリの削除


    エントリを削除


    <?
    mysql_connect() or die (「データベースへの接続の問題」);
    $query = "select * from tbl";
    $result = mysql_db_query("example", $query);
    if ($result)
    {
    echo "データベースでこれらのエントリが見つかりました:

    ";
    echo "




    while ($r = mysql_fetch_array($result))
    {
    $idx = $r["idx"];
    $user = $r["ユーザー名"];
    $last = $r["LastName"];
    $text = $r["FreeText"];
    echo "




    ";
    }
    echo "
    idx ユーザー名

    $idx
    $user $last $dtext
    ";
    }
    else
    {
    echo "データがありません。";
    }
    mysql_free_result($result);
    include ('links.x');
    ?>



    http://www.bkjia.com/PHPjc/324096.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324096.html技術記事ただし、インストール部分を除いて、Windows に関する説明があり、その他の部分はすべてのプラットフォームに同様です。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    前の記事:PHP 画像のアップロード、ソース コードの保存、およびプレビュー_PHP チュートリアル次の記事:PHP 画像のアップロード、ソース コードの保存、およびプレビュー_PHP チュートリアル

    関連記事

    続きを見る