从两个表到变量的SELECT字段

时间:2013-07-25 09:31:17

标签: php select multiple-tables

我试图在几个小时内得到这个问题而没有结果。希望你能帮助我!! 让我解释: 我的桌子: table1:pm_proveedores 字段:prov_ID,prov_nif,prov_nombre,prov_email 表2:pm_productos 字段:prod_ID,prov_prod_nif,prod_fechafactura,prod_numerofactura

我在一个页面中显示(prod_search.php):

$query="select * from pm_productos where prod_nombreproducto like '%$search%' LIMIT $offset, $rowsperpage";
$result=mysql_query($query);
 while ($row = mysql_fetch_array($result)) {
 echo "<tr>
   <td>",$row[1],"</td>
   <td>",date('d/m/Y',strtotime($row[2])),"
   <td><a href='fact_view.php?roll=".$row[3]."'>".$row[3]."</a></td>
   <td>",$row[4],"</td> etc, etc....

在另一页(prod_view.php)中,我得到“$ roll”并显示具有相同“$ roll”的所有行:

<? $roll=$_GET["roll"];?>
$query="SELECT * FROM pm_productos where prod_numerofactura='$roll'";

$result=mysql_query($query);
 while ($row = mysql_fetch_array($result)) {
 echo "<tr>
 <td>",$row[1],"</td>
 <td>",date('d/m/Y',strtotime($row[2])),"</td>
     <td>",$row[3],"</td>
   <td>",$row[4],"</td> etc,etc....

我的问题是:如何在第2页显示表1中的字段prov_nombre,其中table2.prov_prod_nif = table1.prov_nif? (两个字段“table2.prov_prod_nif”和“table1.prov_nif”包含相同的数字) 提前感谢您的大力帮助!!

1 个答案:

答案 0 :(得分:0)

您可以使用内部联接命令。

$query = "SELECT pm_productos.*, pp.prov_nombre FROM pm_productos INNER JOIN pm_proveedores pp ON pp.prov_nif = pm_productos.prov_prod_nif WHERE prod_nombreproducto like '%$search%' LIMIT $offset, $rowsperpage";

pm_productos。* =从第二张表中选择所有列。

pp.prov_nombre =从pm_proveedores表中选择列prov_nombre,(在JOIN语句后的'pm_proveedores pp'中命名为pp)