经过一番头疼后,我发现使用set encoding UTF8(带BOM)的eclipse会导致错误.当您使用包含导致网页标题在chrome中体内呈现时,它会导致添加空格.
即.在index.php上,在当然之前或之后没有间隙
<?php include_once('header.php'); ?><body>test</body>
Run Code Online (Sandbox Code Playgroud)
和header.php有(当然没有间隙)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test title</title>
</head>
Run Code Online (Sandbox Code Playgroud)
然后测试标题出现在正文中(不在视图源中,而是在chrome中的控制台中).这会在页面顶部产生间隙.
在notepad ++中打开index.php和header.php,并在没有BOM的情况下将编码更改为UTF8解决了这个问题.我怎样才能在Eclipse中解决这个问题?!切换到记事本++是不可取的,在eclipse中有太多很好的功能是有用的(更好的自动完成,自动版本控制等).
给我一个谜......
我试图列出订购数量的产品变化,但也显示没有订购数量的产品变化.所以我认为这就像选择产品并在订单是当前版本的每个产品的订单上进行左连接一样简单.
所以我期望这样的操作顺序:
SELECT p.product_id, SUM(po.quantity)
FROM `products` p
LEFT JOIN `product_orders` po ON p.product_id=po.product_id
LEFT JOIN `orders` o ON o.order_id=po.order_id AND o.is_current='1'
Run Code Online (Sandbox Code Playgroud)
但是这也得到了is_current不是1的数量然后我想,好吧,我可以在左连接之后做一个内部连接,而不是这样:
SELECT p.product_id, SUM(po.quantity)
FROM `products` p
LEFT JOIN `product_orders` po ON p.product_id=po.product_id
INNER JOIN `orders` o ON o.order_id=po.order_id AND o.is_current='1'
Run Code Online (Sandbox Code Playgroud)
但是那些尚未订购的产品没有被列出.我希望它们显示为SUM(数量)为NULL.任何人都可以看到我的逻辑出错了吗?谢谢!斯科特