無論我做什麼,我都無法將此代碼獲取到echo $done
。MySQL聯合和PHP,不是朋友?
這裏是我的代碼摘錄,我無法爲我的生活工作。我嘗試了五種不同的方式,但沒有任何工作。我唯一的結論是,由於聯盟,它不起作用。
有沒有辦法解決這個問題?或者這甚至是問題?
$query01 = "SELECT COUNT(DISTINCT report) AS ip
FROM reports
WHERE country = '".$country."'
AND YEAR(date) = '2011'
AND MONTH(date) = '".$i."' AND
status ='IP'
UNION
SELECT COUNT(DISTINCT report) AS done
FROM reports
WHERE country = '".$country."'
AND YEAR(date) = '2011'
AND MONTH(date) = '".$i."'
AND status ='DONE'";
$result01 = mysql_query($query01);
while ($row01 = mysql_fetch_array($result01)) {
$ip = $row01['ip'];
$done = $row01['done'];
$all = $ip + $done;
if($all>0){
echo "<td>".$ip.":".$done."</td>";
}
else{
echo "<td>-</td>";
}
}
'UNION'將兩個選擇合併在一起,它不會「連接」它們。在這種情況下,'UNION'只能提供1列。 – thetaiko
你假設它們是同一行上的兩列,但實際上它們是兩行。第一行包含「ip」,第二行包含「done」。 – Jacob
回想起這一點,我似乎混淆了列和行。感謝您的幫助,朋友。 –