1

他のテーブルの外部キーに基づいて、特定の主キーに関連するレコードを表示したい。phpを使用して他のテーブルにその主キーのレコードを表示するにはどうすればよいですか?

例えば:

table1

primary key 1: plate#1
primary key 2: plate#2
primary key 3: plate#3

table2

primary key 1: destination|route|revenue|plate# 1
primary key 2: destination|route|revenue|plate# 3

table3

primary key 1: diesel price|number of liters|plate# 1

primary key 2: diesel price|number of liters|plate# 3

のすべてのデータを表示するページをすでに作成しましたtable1。データベースを作成したときのデータに関連するデータtable1を表示したいのですが、すでに相互に関係があります。私の問題は、に関連するレコードを表示することです。だけのレコード、別のレコードなどを表示したい。table2table1table1plate#1plate#2

4

2 に答える 2

0

あなたはおそらく、最終的な結果を得るためにテーブルを結合しようとしています。結合を使用すると、基本的にテーブルをマージして、選択に基づいて単一の結果を取得できます。Googlephpmysql結合テーブルといくつかの例を見てください。これがあなたのためのものです:テーブルを結合する

于 2012-12-22T07:54:22.913 に答える
0

大まかな例を次に示します。

<?php
  $truck_id = mysql_real_escape_string($_GET['truck_id']);



 $sql_PK = "SELECT * FROM table1 WHERE id = '{$truck_id}'";
 $res_PK = mysql_query($sql_PK);
 $row_PK = mysql_fetch_assoc($res_PK);

 $truck_plate = $row_PK['plate'];



$truck_plate = mysql_real_escape_string($truck_plate);



$sql = "SELECT table2.plate, table2.destination, table2.route, table3.plate, table3.diesel_price, table3.num_of_liters FROM table2, table3 WHERE table2.plate = table3.plate AND table2.plate = '{$truck_plate}'";
$res = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($res);


    // this will give you the details from the following

        //TABLE2
        // plate
        // destination
        // route

        //TABLE3
        // plate
        // diesel_price
        // num_of_liters


?>

覚えておくべき重要なことがいくつかあります。まず、データベースでスペースを入れずにフィールドに名前を付ける習慣を身につけ、代わりに _ を使用します。したがって、ディーゼルの価格は Diesel_price などです。次に、mysql_real_escape_string を使用してここで示したように、注射から身を守っていることを確認します

したがって、誰かが truckdetails.php?plate=mrtchi をクリックすると、プレート番号に基づいてデータベースにクエリが実行されます: mrtchi

于 2012-12-22T08:21:36.023 に答える