2014-05-09 90 views
0

我有一个存储活动类型(swimming, running, soccer, tennis and basketball)under task_cstm的数据库。如何回显/打印语句

另一个数据库存储任务中存储的推销员姓名,date_start和date_due。

当我在phpMyAdmin运行,

SELECT COUNT(tasks_cstm.activity_type_c) FROM tasks_cstm 
LEFT JOIN tasks ON tasks.id = tasks_cstm.id_c 
where tasks_cstm.activity_type_c ="swimming" and assigned_user_id="abcdefg" 

我得到了我想要的结果:在将计游泳我的总数。

但是我把它变成.PHP文件,它允许用户选择业务员和日期,看看有多少活动的期间没有在业务员晋升正在显示:

<?php 
$result0 = $GLOBALS['db']->query("SELECT tasks_cstm.activity_type_c, 
    COUNT(tasks_cstm.activity_type_c) FROM tasks_cstm 
    LEFT JOIN tasks ON tasks.id = tasks_cstm.id_c 
    WHERE activity_type_c='swimming' AND date_start>='$st' 
    AND date_due<='$dt' AND assigned_user_id='$salesman' AND t.id=tc.id_c") 

$result1 = $GLOBALS['db']->query("SELECT tasks_cstm.activity_type_c, 
    COUNT(tasks_cstm.activity_type_c) FROM tasks_cstm 
    LEFT JOIN tasks ON tasks.id = tasks_cstm.id_c 
    WHERE activity_type_c='running' AND date_start>='$st' 
    AND date_due<='$dt' AND assigned_user_id='$salesman' AND t.id=tc.id_c") 

    $result2 = $GLOBALS['db']->query("SELECT tasks_cstm.activity_type_c, 
    COUNT(tasks_cstm.activity_type_c) FROM tasks_cstm 
    LEFT JOIN tasks ON tasks.id = tasks_cstm.id_c 
    WHERE activity_type_c='tennis' AND date_start>='$st' 
    AND date_due<='$dt' AND assigned_user_id='$salesman' AND t.id=tc.id_c") 

    $result3 = $GLOBALS['db']->query("SELECT tasks_cstm.activity_type_c, 
    COUNT(tasks_cstm.activity_type_c) FROM tasks_cstm 
    LEFT JOIN tasks ON tasks.id = tasks_cstm.id_c 
    WHERE activity_type_c='soccer' AND date_start>='$st' 
    AND date_due<='$dt' AND assigned_user_id='$salesman' AND t.id=tc.id_c") 

    $result4 = $GLOBALS['db']->query("SELECT tasks_cstm.activity_type_c, 
    COUNT(tasks_cstm.activity_type_c) FROM tasks_cstm 
    LEFT JOIN tasks ON tasks.id = tasks_cstm.id_c 
    WHERE activity_type_c='basketball' AND date_start>='$st' 
    AND date_due<='$dt' AND assigned_user_id='$salesman' AND t.id=tc.id_c") 


    echo "<tr><td>" . $result0 . "</td><td>" . $result1 . "</td><td>" . $result2 . "</td><td>" . $result3 . "</td><td>" . $result4 . "</td></tr>"; 

能有人请帮助我,给我一些指导?

PS:因为我无法编辑我以前的帖子,所以我在这里发帖。

谢谢。

+0

使用'var_dump($ result1)'(和其他变量)来查看它们是什么。它们可能是没有被翻译成字符串的对象。 –

回答

0

您在每次查询后缺少分号。

​​
+0

对不起,我添加了;在每个声明中.. – user3614671

0

我不知道你在那里的$ GLOBALS ['db']对象。但是通常来说,方法query()仍然不会产生结果。你必须执行()它然后它会产生一个数组。然后迭代该数组并回显该值。

$query = $db->query('SQL select query goes here'); 
$result = $query->execute(); 
foreach($result as $s) { 
    echo $r[0]; 
    echo $r[1]; 
    ... 
} 
0

谢谢各位的帮助。我得到了我想要的结果。

我所做的是添加到 ... SELECT tasks_cstm.activity_type_c,COUNT(tasks_cstm.activity_type_c)AS TOTALCOUNT(0-4)为每个结果。

,并为每一个结果(0-4)我需要另一个fetchbyassoc因此我需要输入

$r0= $GLOBALS['db']->fetchByAssoc($result0); 
$r1= $GLOBALS['db']->fetchByAssoc($result1); 
$r2= $GLOBALS['db']->fetchByAssoc($result2); 
$r3= $GLOBALS['db']->fetchByAssoc($result3); 
$r4= $GLOBALS['db']->fetchByAssoc($result4); 

,也是我回声出使用这种

echo "<tr> 
<td>".$r0['totalCount0']."</td> 
<td>".$r1['totalCount1']."</td> 
<td>".$r2['totalCount2']."</td> 
<td>".$r3['totalCount3']."</td> 
<td>".$r4['totalCount4']."</td> 
</tr>"; 

是的,我得到的答案我需要。非常感谢您为我们提供帮助(^ 3 ^)