我有一列空着的桌子。它有Id、日期、Cust名称、产品+数量和金额的列。但是只有产品+ Qty显示为空,即使它在数据库中有数据。
PHP代码
<?php
include('connect.php');
$start = isset($_GET['d1']) ? $_GET['d1'] : '';
$end = isset($_GET['d2']) ? $_GET['d2'] : '';
if(isset($_GET['submit']) && $_GET['submit']=='Search')
{
$result = mysql_query(
"SELECT
t1.qty,
t2.lastname,
t2.firstname,
t2.date,
t3.name,
t2.reservation_id,
t2.payable FROM prodinventory AS t1
INNER JOIN reservation AS t2
ON t1.confirmation=t2.confirmation
INNER JOIN products AS t3
ON t1.room=t3.id
WHERE str_to_date(t2.date, '%d/%m/%Y') BETWEEN
str_to_date('$start', '%d/%m/%Y') AND
str_to_date('$end', '%d/%m/%Y')
GROUP BY t2.confirmation") or die(mysql_error());
while ($row = mysql_fetch_array($result)){
echo'<tr class="record">';
echo '<td>'.$row['reservation_id'].'</td>';
echo '<td>'.$row['date'].'</td>';
echo '<td>'.$row['firstname'].' '.$row['lastname'].'</td>';
echo '<td><div align="left">';
$rrr=$row['confirmation'];
$results = mysql_query("SELECT * FROM prodinventory where confirmation='$rrr'");
while($row1 = mysql_fetch_array($results))
{
$roomid=$row1['room'];
$resulta = mysql_query("SELECT * FROM products where id='$roomid'");
while($rowa = mysql_fetch_array($resulta))
{
echo $rowa['name'].' x';
}
echo ' '.$row1['qty'].'<br>';
}
echo '<td>'.'PHP ' . number_format(floatval($row['payable']));
}
?>
发布于 2014-08-03 08:04:48
嗯,我删除了我的答案,但没人尝试过,所以.
我认为这个echo ' '.$row1['qty'].'<br>';
是你问过的那个问题。这一切看上去都像是个错误。如果是这样的话:
confirmation
(它仅用于JOIN和GROUP ),并且可能您的$rrr为空。回显它,以确保有一个值。SELECT *
。在情况敏感的环境中,字段名“qty”正确吗?“‘Qty”可能不一样,查询可能会工作,但您无法得到结果。发布于 2014-08-03 08:58:06
我认为这是因为您有inner join
,而且可能交叉表没有数据
如果left join
有效的话,试着先做它
确保所有表中都有数据。
https://stackoverflow.com/questions/25102746
复制相似问题