mysql查询列表在输入字段的标题中

时间:2014-01-16 11:39:18

标签: php

我有3张桌子:

1.Personal - 列出工人名单。
2.Codes - 带有班次列表 3.Dienstplan - 就像工作时间表一样

我有以下查询

$query4 = $db->query("SELECT count(codes.lcfruh) AS front_lcfruh, name
FROM dienstplan
LEFT JOIN codes ON (dienstplan.schicht = codes.lcfruh)
LEFT JOIN personal ON personal.perso_id = dienstplan.perso_id
WHERE personal.status_sum = 'rezeption' AND dienstplan.kw = '$kw' AND dienstplan.schicht!='' AND personal.zeigen='ja' GROUP BY dienstplan.datum");

我想在列出的输入字段中列出一个count(codes.lcfruh),如下所示:

$names = array();
while ($result = $query4 ->fetch_object()) {
$names[] = $result->name;
echo '<p class="taglist1"><input name="" type="text" title="'.implode(', ', $names).'"     class="zbroj'.$result->front_lcfruh.'" value="'.$result->front_lcfruh.'"></p>';
}

结果应该是一个包含7个输入字段的数组,其中包含一周中每天的count(codes.lcfruh)计数。我正确地获得了正确的字段数(7)和字段中的计数。现在我想列出title =“'。implode(',',$ names)。'”中代码表列中的代码之一的字段“lcfruh”。问题是我第一天只列出了一个名字,第二天就列出了2个名字......依次是表格中的第一个名字。

1 个答案:

答案 0 :(得分:0)

不要只选择名称,而是在其上设置GROUP_CONCAT。如果您有GROUP BY,则会以逗号分隔当天的所有名称。

SELECT count(codes.lcfruh) AS front_lcfruh, GROUP_CONCAT(name) AS name

然后在你的回声中只显示如下的连字符:

echo '<p class="taglist1"><input name="" type="text" title="'.$result->name.'"     class="zbroj'.$result->front_lcfruh.'" value="'.$result->front_lcfruh.'"></p>';
相关问题