我正在尝试为我正在处理的网站创建新闻页面.我决定使用正确的MySQL查询(意思是COUNT(id)和连接而不是多个查询或num_rows.)我正在使用一个PDO包装器,它应该运行正常,直到通过运行时仍然会失败MySQL CLI应用程序.
基本上,我有3张桌子.一个持有新闻,一个持有评论,一个持有用户.我的目标是创建一个页面,显示所有(稍后将分页)新闻帖子标题,正文,作者和日期.当我使用第二个查询来获取用户名时,这工作正常,但后来我决定使用JOIN.
所以有什么问题?好吧,我需要两个连接.一个是获取作者的用户名,另一个是获取评论的数量.当我只是找到作者的用户名时,一切都按预期工作.显示新闻表中的所有行(有2个).但是,当我为评论行添加第二个LEFT JOIN时,我最终只从新闻中收到一行(记住,有2个),COUNT(comments.id)给我2个(它应该显示1,因为我有每个帖子的评论.)
我究竟做错了什么?为什么它只显示一个新闻帖子,并说它有两个评论,当有两个新闻帖子,每个都有一个评论?
SELECT news.id, users.username, news.title, news.date, news.body, COUNT(comments.id)
FROM news
LEFT JOIN users
ON news.user_id = users.id
LEFT JOIN comments
ON comments.news_id = news.id
Run Code Online (Sandbox Code Playgroud)
另外,为了确定另一件事,我的左边加入评论是获取所有帖子的正确方法,无论他们是否有评论,对吗?或者这是一个正确的加入?哦,最后一件事......如果我将comments.news_id = news.id切换到news.id = comments.news_id,我得到0结果.
所以我创建了一个包含"from"和"to"列的表.
虽然写入表是很好的,因为我在每列中插入一个值(而不是按名称引用列),但每当我想要检索数据(SELECT)时,我想要检索...比如说,只有"来自" "专栏.
除了您猜测之外,它将"from"解释为SQL命令而不是列名.用引号括起来只是让"from"填充结果集.奇怪的.
我可以做一些重命名列吗?(这不是太糟糕,因为该表现在确实没有真正的数据).
谢谢!
我现在拥有的:SELECT from,id FROM permissions
我使用这个Perl子例程从网页获取一行,然后我将其拆分以获取我需要继续的信息.这已经工作了十几年.
sub capture_line {
my $page_to_get = $_[0];
my $host_to_get_text = $_[1];
my $port = 80;
my $buf = &HTTPGet($page_to_get, $host_to_get_text, $port);
my $image_capture_text;
my @lines = split(/\n/,$buf);
# print "$lines[1]\n";
# print "$page_to_get, $host_to_get_text\n";
# print "$buf\n";
foreach (@lines) {
if (/$text_to_find/i) {
$image_capture_text = $_;
print "in_loop";
last;
}
}
return $image_capture_text;
}
Run Code Online (Sandbox Code Playgroud)
不可原谅的$page_to_get是,现在总是301重定向,并且$buf在打印时,给我一个301重定向页面,显然不包含所需的文本.是否有一个$in值对(例如),我可以使用它HTTPGet来跳过重定向,以便我得到我在http://$host_to_get_text$page_to_get浏览器中输入时看到的页面?或者是否有更好的方法来完成相同的事情(知道在查看的网页的源中不断变化的文件名)?
感谢您的时间.格雷格马什
请考虑以下父/子关系.我想知道的是如何根据以下要求为此创建GUI:
我在考虑使用ItemsControl,但我不确定如何让嵌套正常工作.
Parent 1
|-Parent 2
|-Parent 3
|--P3 Child 1
|--P3 Child 2
|--P3 Child 3
|---P3 C3 Child 1
|---P3 C3 Child 2
Run Code Online (Sandbox Code Playgroud) 表包含字符串 "Hello world!"
考虑到*作为普通的通配符,我怎样才能编写一个REGEXP,它将评估为true 'W*rld!'但是为false,'H*rld!'因为H是另一个单词的一部分.'W*rld'由于尾随,也应该评估为假'!'
事实证明,"with"在互联网上搜索是一个有趣的词.
有谁知道在python中嵌套语句有什么用处?
我一直在追踪我写的剧本中一个非常滑的错误,我怀疑这是因为我这样做:
with open(file1) as fsock1:
with open(file2, 'a') as fsock2:
fstring1 = fsock1.read()
fstring2 = fsock2.read()
Run Code Online (Sandbox Code Playgroud)
当我尝试使用read()fsock2 时,Python会抛出.在调试器中检查时,这是因为它认为文件是空的.这不会令人担忧,除了在调试交互操作中运行完全相同的代码而不是在with语句中显示该文件实际上是非常充满文本的...
我将继续假设现在嵌套with语句是禁止的,但如果知道更多的人有不同的意见,我很乐意听到它.
我正在学习 makefile,并试图找出如何重用规则。现在我有以下内容:
CPP = cl
CPPFLAGS = /Od /D "WIN32" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt
.SUFFIXES: .exe .cpp
Exercise35.exe:
$(CPP) Exercise35.cpp $(CPPFLAGS)
debug:
$(CPP) Exercise35.cpp $(CPPFLAGS) /D "_DEBUG"
Run Code Online (Sandbox Code Playgroud)
该规则本质上是使用额外的命令行参数debug重复该规则,这似乎很糟糕。Exercise35有没有更好的办法?
假设您有一个冗长的字符串(> 80个字符),您希望分布在多个源代码行中,但不希望包含任何换行符.
一种选择是连接子串:
string longString = "Lorem ipsum dolor sit amet, consectetur adipisicing" +
" elit, sed do eiusmod tempor incididunt ut labore et dolore magna" +
" aliqua. Ut enim ad minim veniam";
Run Code Online (Sandbox Code Playgroud)
有更好的方法,还是这是最好的选择?
编辑:通过"最佳",我认为编码人员最容易阅读,编写和编辑.例如,如果您确实需要换行符,则很容易看到:
string longString =
@"Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam";
Run Code Online (Sandbox Code Playgroud)
我想知道,如果有什么一样干净,当你不希望换行.
我在使用apache时看到了一个名为cgi-bin的文件夹.
脚本如何帮助我?
我怎么用它们?
我只使用php和ajax进行web开发!
我正在努力不去推销我自己的购物车,但在仔细阅读可用的.NET ecom软件包之后,它就是所有的ASP.NET网页形式.另外,如果我看到另一个手动DB层或者一些手动调用Activator.CreateInstance()以实现可扩展性,我将在hives中突破.
所以我正在寻找的是使用ASP.NET MVC,FubuMVC或Monorail使用一些支持Linq的ORM(最好是NHibernate)用C#编写的购物车.我希望它是开源的,但如果代码库做得好并且源许可证可用,我不反对商业解决方案.
我知道Rob Conery关于这个话题的网络直播系列,但如果我不是自己动手,我想要更接近黄金时间的东西.
有这样的野兽,还是我自己最好的选择?