ホームページ バックエンド開発 PHPチュートリアル PHP_MySQL チュートリアル - 2 日目 while ループとデータベース操作 ページ 1/2_PHP チュートリアル

PHP_MySQL チュートリアル - 2 日目 while ループとデータベース操作 ページ 1/2_PHP チュートリアル

Jul 21, 2016 pm 03:56 PM
mysql php while そして サイクル 操作する チュートリアル データベース

最初のページの while ループ
このレッスンでは、さらに深く掘り下げて、PHP と MySQL を使用していくつかのシンプルで便利なページを作成します。昨日作成したデータベースから始めて、データベース内のデータを表示しますが、少し磨きをかけます。
まず、次のコードを使用してデータベースの内容をクエリします。

コードをコピーします コードは次のとおりです:

$db = mysql_connect("localhost", "root"); "mydb", $db);
$result = mysql_query("SELECT * FROM 従業員",$db);
echo " ;/td> ;位置n";
while ($myrow = mysql_fetch_row($result)) {
printf("%s %s< ;/ td>%sn", $myrow[1], $myrow[2], $myrow[3]);
}
echo "?>




このプログラムにいくつかの新しい機能が追加されたことにお気付きかもしれません。最も明白なのは while() ループです。このループは、データベースに読み取り可能なレコードがまだある限り (mysql_fetch_row() 関数を使用)、そのレコードを変数 $myrow に割り当て、中括弧 ({}) 内の命令を実行することを意味します。ここをよく見てください、この部分はより重要です。
mysql_fetch_row() 関数に注意を払う必要があります。ここには少し問題があります。配列を返すのですが、配列内のフィールドには配列の添字でアクセスする必要があります。最初のフィールドには 0、2 番目のフィールドには 1 というインデックスが付けられます。これは、特定の複雑なクエリを実行するときに実行するには非常に面倒です。
次に、ループプロセスを詳しく見てみましょう。プログラムの最初の数行は、レッスン 1 の例ですでに見ました。次に、while() ループで、クエリ結果からレコードを読み取り、そのレコードを配列 $myrow に割り当てます。次に、printf関数を使ってデータの内容を画面に表示します。その後、ループが繰り返し実行され、次のレコードが読み取られて $myrow に割り当てられます。これは、すべてのレコードが読み取られるまで続きます。
while() ループを使用する利点の 1 つは、データベース クエリがレコードを返さなかった場合でも、エラー メッセージを受け取らないことです。ループ ステートメントが最初に実行されるとき、ループ条件は満たされず、データは $myrow に割り当てられず、プログラムは直接実行されます。
しかし、クエリがデータを返さない場合、ユーザーにそれをどのように知らせるのでしょうか?おそらく、ユーザーに関連する情報を提供する必要があるでしょう。それは可能です。その方法を見てみましょう。 >>

2ページ目 if-else
以下のプログラムをご覧ください。


コードをコピーします

コードは次のとおりです:
$db = mysql_connect("localhost", "root"); "mydb", $db);
$result = mysql_query("SELECT * FROM 従業員",$db);
if ($myrow = mysql_fetch_array($result)) {
echo "n" ;
echo " gt;n"
do {
printf("n", $myrow["first"],
$myrow["last"], $myrow["address"]);
} while ( $myrow = mysql_fetch_array($result));
echo "
名前 アドレス
% s % s%s
n";
echo "申し訳ありません、レコードが見つかりません!"


このプログラムには多くの新しいコンテンツが含まれていますが、これらのコンテンツは非常にシンプルです。 1 つ目は mysql_fetch_array() 関数です。この関数は mysql_fetch_row() に非常に似ていますが、1 つの違いがあります。この関数を使用すると、$myrow["first"] などの配列添字の代わりにフィールド名を通じて返されるフィールドにアクセスできます。このようにして、多くの労力を節約できます。さらに、do/while ループと if-else 条件文がプログラムに追加されます。
if-else 条件文の意味は、レコードを $myrow 変数に割り当てることができた場合は続行し、それ以外の場合は else 部分にジャンプしてそこで命令を実行することです。
do/while ループは、前のページで使用した while() ループのバリエーションです。 do/while を使用する必要がある理由は、元の if ステートメントで、クエリによって返された最初のレコードを変数 $myrow に割り当てているためです。この時点で一般的な while ループ (たとえば while ($myrow = mysql_fetch_row($result))) を実行すると、2 番目のレコードが $myrow に割り当てられ、最初のレコードはフラッシュされます。 while ループを使用すると、ループ本体を 1 回実行してからループ条件を決定できるため、最初のレコードを誤って見逃すことはありません。最後に、クエリ結果にレコードが含まれていない場合、プログラムはこれらのステートメントを実行します。 else{} 部分で、プログラムのこの部分の実行を確認したい場合は、SQL ステートメントを SELECT * FROMemployees WHERE id=6 に変更するか、レコードが存在しないように他の形式に変更します。クエリの結果
ループ if-else コードを拡張してページのコンテンツを充実させましょう

最初のプログラム スクリプトの 3 ページ目
ループ ステートメントを学習しました。より実践的なものにしてみましょう。その前に、Web テーブル、クエリ パラメータ文字列、フォームの GET メソッドと POST メソッドを処理する方法を知っておく必要があります。この部分に詳しくない場合は、その記事を読んでください。ご存知のとおり、パラメータの内容を記述するには 3 つの方法があります。 1 つ目はテーブル内にクエリ パラメータを追加する方法で、2 つ目はブラウザのアドレス バーにクエリ パラメータ文字列を埋め込む方法です。 Web ページのハイパーリンクを作成し、ハイパーリンクの内容が次のようになります: ここでは最後の方法を使用します。まず、データベースにクエリを実行して、従業員の名前をリストしてみます。ほとんどのプログラムはすでにおなじみです



コードをコピーします
コードは次のとおりです: $db = mysql_connect.("localhost", "root");
$result = mysql_query("SELECT * FROM 従業員",$db);
if ($myrow = mysql_fetch_array($result)) {
do {
printf("
%s %s
n" ,
$PATH_INFO, $myrow["id"] , $myrow["first"], $myrow["last"]);
} while ($myrow = mysql_fetch_array($result)); else {
echo 「申し訳ありませんが、記録が見つかりませんでした! ";
}
?>





ここでは特別なことは何もありません。printf 関数が少し異なるだけです。それでは、詳しく見てみましょう。
最初に注意すべきことは、すべての引用符の前にバックスラッシュが付いていることです。このバックスラッシュは、次の文字をプログラム コードとして扱うのではなく、直接表示するように PHP に指示します。変数 $PATH_INFO の使用法にも注意してください。この変数はすべてのプログラムでアクセスでき、プログラム自体の名前とディレクトリの場所を保存するために使用されます。これを使用する理由は、ページ内でプログラム自体を呼び出す必要があるためです。 $PATH_INFO を使用すると、プログラムが他のディレクトリや他のマシンに移動された場合でも、プログラムが正しく呼び出されることを保証できます。
先ほど述べたように、プログラムによって生成された Web ページに含まれるハイパーリンクは、プログラム自体を再度呼び出します。ただし、再度呼び出すと、いくつかのクエリ パラメータが追加されます。
PHP は、クエリパラメータ文字列に「name=value」などのペア形式が含まれていることを確認すると、特別な処理を実行します。クエリ パラメーター文字列で指定されたものと同じ名前と値を持つ変数が自動的に生成されます。この関数を使用すると、プログラムがプログラム内で最初に実行されるか 2 回目に実行されるかを判断できます。私たちがしなければならないのは、$id 変数が存在するかどうかを PHP に問い合わせることだけです。
この質問に対する答えがわかったら、プログラムを 2 回目に呼び出すときに、いくつかの異なる結果を表示できます。参照してください:
コードをコピーします コードは次のとおりです:


$db = mysql_connect("localhost", "root");
mysql_select_ db(" mydb",$db);
//個々のレコードを表示
// 単一レコードの内容を表示
if ($id) {
$result = mysql_query("SELECT * FROM 従業員 WHERE id=$ id",$db);
$myrow = mysql_fetch_array($result);
printf("名: %sn
", $myrow["first"]);
printf("姓: %sn< br>", $myrow["last" ]);
printf("アドレス: %sn
", $myrow["アドレス"]);
printf("位置: %sn
", $myrow ["位置"]);
} else {
// 従業員リストを表示
// 従業員リストを表示
$result = mysql_query("SELECT * FROM 従業員",$db)
if ($myrow = mysql_fetch_array($result) )) {
// 表示するレコードがある場合はリストを表示します
// レコードがある場合はリストを表示します
do {
proprintf ("& lt; a href ="%s? ID =%s "& gt; %s%s & lt;/a & lt; nR & gt; n ", $ PATH_INFO,
$ MyRow [" ID "], $ MyRow [" Last "]; // いいえ表示するレコード
// 表示するレコードがありません
エコー「申し訳ありません、レコードがありません! ";}}
}
? & Gt;
& lt;/body & gt;
& lt;/html & gt; // を使用して単一行のコメントを追加するか、/* と */ を使用して大きなコメントを囲みます
この時点で、最初の非常に便利な PHP/MySQL スクリプトを学習しました。次に、その使用方法を見ていきます。

ページ 4: データをデータベースに送信します。サーバー
データベースからデータを読み取ることは問題ありませんが、実際には、これは PHP ではありません。
単純なテーブルを含む Web ページを作成します。

コードをコピーします

コードは次のとおりです:




Name:
姓:
住所:




http://www.bkjia.com/PHPjc/318118.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/318118.html技術記事最初のページの while ループ このレッスンでは、さらに深く掘り下げて、PHP と MySQL を使用して、いくつかのシンプルで便利なページを作成します。昨日作成したデータベースから始めて、ライブラリを表示してみましょう...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

ビジネスの世界におけるオラクルの役割 ビジネスの世界におけるオラクルの役割 Apr 23, 2025 am 12:01 AM

Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

IISとPHPの互換性:ディープダイビング IISとPHPの互換性:ディープダイビング Apr 22, 2025 am 12:01 AM

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

MySQLの外国キーの目的を説明してください。 MySQLの外国キーの目的を説明してください。 Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

関数と正規表現を含むJavaScriptオブジェクトをデータベースに安全に保存して復元するにはどうすればよいですか? 関数と正規表現を含むJavaScriptオブジェクトをデータベースに安全に保存して復元するにはどうすればよいですか? Apr 19, 2025 pm 11:09 PM

フロントエンド開発においてJSONで機能と正規表現を安全に処理することができますが、JavaScriptが必要です...

mysqlとmariadbを比較対照します。 mysqlとmariadbを比較対照します。 Apr 26, 2025 am 12:08 AM

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

Redis:そのアーキテクチャと目的を理解する Redis:そのアーキテクチャと目的を理解する Apr 26, 2025 am 12:11 AM

Redisは、主にデータベース、キャッシュ、メッセージブローカーとして使用されるメモリデータ構造ストレージシステムです。そのコア機能には、シングルスレッドモデル、I/O多重化、持続メカニズム、複製、クラスタリング機能が含まれます。 Redisは、キャッシュ、セッションストレージ、メッセージキューのための実際のアプリケーションで一般的に使用されます。適切なデータ構造を選択し、パイプラインとトランザクションを使用し、監視とチューニングを使用することにより、パフォーマンスを大幅に改善できます。

See all articles