我想在表格中显示srfno,datecreated,clientname和returneditem。 srfno,datecreated和clientname来自sales表,而returnitem在sales_item表上。表格通过srfno相关。我能够显示srfno,date和clientname但不能返回。 请在我的代码中找到错误和缺失的内容。任何解释和帮助都可以。谢谢。 加载数据的代码:
if(isset($_GET['sn'])){
$ppid = $_GET['sn'];
$sqlLoader="Select sales.srfno, sales.clientid, sales.datecreated,
sales_item.retdesc
from sales
RIGHT JOIN sales_item ON sales.srfno==sales_item.srfno";
$resLoader=$con->prepare($sqlLoader);
$resLoader->execute(array($ppid));
while($rowLoader = $resLoader->fetch(PDO::FETCH_ASSOC)){
$sn= $rowLoader['srfno'];
$dcr= $rowLoader['datecreated'];
$cid=$rowLoader['clientid'];
$retid=$rowLoader['srfno'];
$retdesc=$rowLoader['retdesc'];
这是我显示srf,date,clientname和返回项目的代码。我在这里使用了一些pdo:
$sql="Select sales.srfno, sales.datecreated, sales.clientid, sales_item.retdesc
from sales
RIGHT JOIN sales_item ON sales.srfno=sales_item.srfno";
$res=$db->prepare($sql);
$res->execute();
$str="<div><table cellpadding='0' cellspacing='0' border='0' class='display' id='tbl' class='jtable' align='center'>";
$str.="<thead><tr><th width='250px'>SRF No</th><th>Date Created</th><th align='center'>Client Name</th><th>Returned Item</th><th></th><th></th></tr></thead><tbody>";
while($row = $res->fetch(PDO::FETCH_ASSOC))
{
$str.="<tr><td><center>".$row['srfno']."</center></td>";
$str.="<td align='center'>".$row['datecreated']."</td>";
$sclientid=$row['clientid'];
$cli="Select name from client where clientid=$sclientid";
$client=$db->prepare($cli);
$client->execute();
while($clie= $client->fetch(PDO::FETCH_ASSOC))
{
$clientname=$clie['name'];
}
$item=$row['srfno'];
$itemret="Select retdesc from sales_item where srfno=$item";
$itemreturn=$db->prepare($itemret);
$itemreturn->execute();
while($return=$itemreturn->fetch(PDO::FETCH_ASSOC))
{
$retdesc=$return['retdesc'];
}
$str.="<td align='center'>".$clientname."</td>";
$str.="<td align='center'>".$retdesc."</td>";
答案 0 :(得分:0)
看起来Echo_me是正确的。您没有在查询中选择退回的项目:
$sql="Select sales.srfno, sales.datecreated, sales.clientid, sales_item.retdesc
from sales
RIGHT JOIN sales_item
ON sales.srfno=sales_item.srfno";
将项目添加到您的查询
$sql="Select sales.srfno, sales.datecreated, sales.clientid, sales_item.retitem, sales_item.retdesc
from sales
RIGHT JOIN sales_item
ON sales.srfno=sales_item.srfno";
答案 1 :(得分:0)
对于可能遇到此问题的用户,您不需要创建另一个查询来获取另一个表的值,尤其是在您使用联接的情况下。使用join将使您的生活更轻松。只需通过。$ row [&#39; fieldname&#39;]调用变量即可! :)感谢那位帮助我意识到我的代码有什么问题的人。谢谢你!