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

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

WBOY
WBOYオリジナル
2016-08-08 09:29:09949ブラウズ

これは基本的なチュートリアルです。変なコードはなく、基本的なものだけです。 UNIX マシンに関するチュートリアルは多数ありますが、このチュートリアルでは Windows ベースのプラットフォームに焦点を当てます。

ただし、多かれ少なかれ Windows 固有の手順が含まれるインストール部分を除いて、他の部分はすべてのプラットフォームで同じです。ちなみに、取り付け部分については、当サイトの取り付けガイドをご覧ください。このチュートリアルでは、PHP と MySQL の次の機能を使用して、小さな Web サイトを段階的に構築します。
1. データベースを表示する;
2. データベースのレコードを編集する;
4. データベースのレコードを削除する。
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; >
次の結果が得られます:
+----------+------+------+---- - +----------+------+
デフォルト | - ----------+------+-----+--------+------+
| | はい | varchar(30) | ----------+------+-----+---------- --+------+
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行(0.00秒) )
これでテーブルの構造と各セルの内容が確認できました。
今度はデータを削除したいと思います。これを実現するには、次のように入力する必要があります:
MySQL> delete from tbl where idx=1 limit 1; クエリ OK、1 行が影響を受けます (0.00 秒)
それでは、説明をお願いします。 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 データベースサンプルインデックス
$result) {
echo "データベース内で次のエントリが見つかりました:< ;br>

";
echo "





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


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

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

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


    エントリを追加



    <表幅=90% 整列=中央>
  •   
         



    ユーザー名< /td>
    ドメイン名< ;/td>
    ["idx"]; $r["ユーザー名"];
    $last = $r["姓"];
    $text = $r["FreeText"]
    echo "
    LT;/TD & GT; $ ユーザー & lt; td & gt; ;/TD & GT;
    & LT;/TR & GT; "

    ?>


    ---------------- ------------------------ ------------------------ ----------------
    さて、ここにいくつかの説明があります:
    最初に通常の 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
    インデックス:
    ユーザー名: maxlength=100>
    LastName: maxlength=100>
    フリーテキスト:




    ------------------------------------------------- -----------------------------
    テーブル単位の設定は非常によく知られており、これはかなりの単一のスクリプトです。私は html ページの設定に基づいてテーブル単位を作成し、転送後に add2tbl.php3 を使用します。構成:インデックスこのテーブル内のフィールド名は MySQL テーブル内のフィールド名と同様ですが、これは便宜上のものであり、必須ではありません。
    私はもう一度使用しましたincludeコマンド include ('links.x');?>(前の例にある) を追加して接続します。 -------------------------------------------------- ---------------

    <体>
    <?
    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 $last $text
    ";
    }
    else
    {
    echo "データがありません。";
    }
    mysql_free_result($result); include('links.x ');
    ?>
    -------------------------------------------------- --
    お察しの通り、ここのコードには詳細な内容が含まれています。最初の部分は、出力されるデータベース テーブルの内容だけです。 user&last=$last&text=$text">$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' ここで
    idx='$idx'";
    $result = mysql_db_query("example", $query);
    $query = "SELECT * FROM tbl"; ($result)
    {
    echo "データベース内で次のエントリが見つかりました:

    ";
    echo "
    ;
    $user = $r["UserName"]; last = $r["LastName"];
    $text = $r["FreeText"];
    echo "

    /tr>


    ; ---------------------------------- ---------------- ------------------
    基本的に注意すべき点は次の行です:
    $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' および 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 "
    idx< /td>

    名前
    $user $last





    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.jb51.net/article/27814.htm


    以上は、php とデータベースを組み合わせた、単一の Web サンプル ペイジコード分析 (php 初学者) であり、さまざまな内容が含まれており、PHP 教育に関心のある友人の助けになることを望みます。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。