加入2个表并按ID显示

时间:2015-02-22 13:46:45

标签: php mysql

我有两张桌子:

表clienti:

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

表facturi:

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);
?>

问题在于,无论我打开哪一行,都会向我显示相同的信息。 如果我点击第一个打开单独,它会向我显示&#34; cosmin sibiu&#34;如果我点击第二个打开单独,它也会显示我&#34; cosmin sibiu&#34;,虽然在浏览器地址栏中我看到了核心CodClient。 我究竟做错了什么 ? 抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

在你的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 */这样的东西。显然确保注射等是安全的。