我有2张桌子:

表clienti:

CodClient | NumeClient | AdresaClient
_____________________________________
     1    |   cosmin   |   sibiu
     2    |    alex    |   brasov


表工厂:

CodClient | NrFactura  | DataFactura
_____________________________________
     1    |   654321   | 2015-02-21
     2    |   123456   | 2015-02-22


CodClient =两个表之间的链接。

我有一个带有表格的页面,其中包含来自上述表格的信息:

 NumeClient | AdresaClient | NrFactura | DataFactura
  cosmin    |    sibiu     |   654321  | 2015-02-21 | Open separate
   alex     |    brasov    |   123456  | 2015-02-22 | Open separate


当我单击“打开单独”按钮时,它将带我到此页面,在这里我看到每一行
打开单独的按钮会将CodClient发送到此页面:

<?php
include('connect.php');

$CodClient=$_GET['CodClient'];

$CodClient = mysqli_real_escape_string($con,$CodClient);


$rez=mysqli_query($con,"SELECT NumeClient, AdresaClient, NrFactura, DataFactura, FacturaRetea FROM clienti c join facturi f on c.CodClient = f.CodClient");
$rows=mysqli_fetch_array($rez);
?>




  <div class="factura_header">
    <img src="img/logo2.png">
  </div>

  <div class="factura_stanga">
    <p>Client: <?php echo $rows['NumeClient'];?></p>
    <p>Adresa: <?php echo $rows['AdresaClient'];?></p>
  </div>

  <div class="factura_dreapta">
    <p>Numar factura: <?php echo $rows['NrFactura'];?></p>
    <p>Data Factura: <?php echo $rows['DataFactura'];?></p>
  </div>

  <div class="despartitor">
  </div>

</div>

<?php
mysqli_close($con);
?>


问题是,无论我打开的行是什么,它都向我显示相同的信息。
如果我单击第一个“打开分离”,则显示“ cosmin sibiu”的信息;如果我单击第二个“打开分离”,则也显示“ cosmin sibiu”,尽管在浏览器地址栏中,我看到了corect CodClient。
我究竟做错了什么 ?
对不起,我的英语不好。

最佳答案

在您的SQL中,您没有传递$CodClient id,而是仅基于属性之间的通用关系将两个SQL表联接在一起……您需要添加诸如SELECT NumeClient, AdresaClient, NrFactura, DataFactura, FacturaRetea FROM clienti c join facturi f on c.CodClient = f.CodClient where c.CodClient = 10 /* this is your $CodClient id from URL */之类的东西……显然,确保它是安全的注射等

关于php - 联接2个表并按ID显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28658518/

10-12 19:02