我有两个表记录在我的数据库,看起来像这样:
表1第1列:
topic_id name
21 my computer
表2列如下:
reply_id topic_id message
1 21 blabla
2 21 blue
其中表2中的topic_id列是表1的外键
我想回显表2中的所有回复以及表1中的主题名称(#21)。所以,我提出了这样的问题
$q="SELECT name, message
FROM table1
LEFT JOIN table2
ON table1.topic_id = table2.topic_id
";
但是,结果/输出返回主题的名称和只有一个回复,而不是预期的2个(或全部)。我错过什么了吗?
我使用LEFT JOIN,因为有些主题仍在等待答复。如果没有任何回复,则主题名称仍会在浏览器中打印。
我还尝试添加
GROUP BY table1.topic_id
但还是没有运气!
你能帮忙吗?谢啦
编辑:为了澄清这个问题,我添加了php代码以获取记录,如下所示:
如你所知,名字只需要打印一次。所以,我这样编码:
$tid = FALSE;
if(isset($_GET['qid']) && filter_var($_GET['qid'], FILTER_VALIDATE_INT, array('min_range'=>1) ) ){
// create the shorthand of the question ID:
$tid = $_GET['tid'];
// run query ($q) as shown above
$r = mysqli_query($dbc, $q) or die("MySQL error: " . mysqli_error($dbc) . "<hr>\nQuery: $q");
if (!(mysqli_num_rows($r) > 0) ){
$tid = FALSE; // valid topic id
}
}//isset($_GET['qid']
if ($tid) { //OK
$printtopic = FALSE; // flag variable to print topic once
while($content = mysqli_fetch_array($r, MYSQLI_ASSOC)){
if (!$printtopic) {
echo $content['name'];
$printtopic= TRUE;
}
}
} // end of $tid
// Print the messages if any:
echo $content['message'];
在解决这个问题后,我发现问题在于我必须将查询更改为内部联接,并添加WHERE子句,如下所示:
WHERE table2.reply_id = {the given topic_id}
那么它工作得很好!
对不起打扰大家了!
尝试:
$q="SELECT table2.reply_id, table1.name, table2.message
FROM table2
LEFT JOIN table1
ON table1.topic_id = table2.topic_id
";
尝试内连接
$q="SELECT name, message
FROM table1
INNER JOIN table2
ON table1.topic_id = table2.topic_id";
问题内容: Java中有一种简单的方法可以执行以下操作吗? 连接到打印机(将是本地打印机,并且是连接到机器的唯一打印机)。 在2个不同的打印机纸盘中打印2页的页面。 获取当前的打印队列计数,即我有100项要打印的项目和34项当前已打印,则打印机队列现在应显示为66。 问题答案: 一些快速提示: 从Java打印:请参阅基本打印程序 打印作业的状态:您可以使用PrintJobListener获得一些有
它还会返回这个表,遗漏一些行(我希望它给出所有流派,而不仅仅是演员在其中扮演角色的流派): 有趣的是,它为“动画”返回了“0”,但为“儿童”或“喜剧”没有行,这是我正在寻找的结果(所有流派都返回了)。我做错了什么?
所有拨打记录 关于通话记录 接受/拒绝联系人名单的登录要求 删除通话记录 显示特定的通话记录
版本 1.6.0 接口 updateAppMessageShareData updateTimelineShareData onMenuShareTimeline(即将废弃) onMenuShareAppMessage(即将废弃) onMenuShareQQ(即将废弃) onMenuShareWeibo onMenuShareQZone startRecord stopRecord onVoice
本文向大家介绍javaScript 连接打印机,打印小票的实例,包括了javaScript 连接打印机,打印小票的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇javaScript 连接打印机,打印小票的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
当R用科学符号将一个大数转换为字符串时,它包括所有有效数字,没有尾随零。有没有可能在C中用来完成这个? 我尝试了,但这似乎最多包含5个十进制数字。我还尝试使用设置更高的精度,但这将包括非有效数字和尾随零。 有没有一种方法可以让的行为增加5位数的限制?