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它们已经相互关联。我的问题只是显示与. 我想为 just 、另一个 for等显示记录。table2table1table1plate#1plate#2

4

2 回答 2

0

您可能正在寻找连接表以获得最终结果。Join 允许您基本上将表合并在一起并根据选择获得单个结果。Google php mysql join table 并查看一些示例。这是给你的一个:加入表格

于 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


?>

有几件重要的事情要记住。首先是养成在数据库中命名字段不带空格并使用 _ 的习惯。所以柴油价格是柴油价格等。其次是确保您保护自己免受任何注射,就像我在这里使用 mysql_real_escape_string 显示的那样

所以当有人点击 truckdetails.php?plate=mrtchi 时,它会根据车牌号查询数据库:mrtchi

于 2012-12-22T08:21:36.023 回答