2014-05-09 4 views
0

J'ai une base de données qui stocke un type d'activité (swimming, running, soccer, tennis and basketball)under task_cstm.comment echo/imprimer une instruction

Une autre base de données stocke le nom du vendeur, date_start et date_due stockés dans les tâches.

Quand je cours sur 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" 

Je suis le résultat que je veux: comme il comptera le nombre total de natation pour moi.

Cependant, je place ce dans un fichier .PHP qui permet à l'utilisateur de sélectionner le vendeur et la date pour voir combien d'activités promues par le vendeur au cours de la rien période étant montré:

<?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>"; 

pourrait quelqu'un s'il vous plaît aidez-moi et donnez-moi des conseils? PS: Comme je ne peux pas éditer mon post précédent, je le poste ici.

Merci.

+0

Utilisez 'var_dump ($ result1)' (et sur les autres variables) pour voir ce qu'ils sont. Il est possible qu'ils soient des objets qui ne sont pas traduits en chaînes. –

Répondre

0

Il vous manque des points-virgules après chaque requête.

$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"); 
+0

désolé j'ai ajouté; dans chaque déclaration .. – user3614671

0

Je ne connais pas l'objet $ GLOBALS ['db'] que vous avez là. Mais en termes courants, la méthode query() ne produit toujours pas de résultat. Vous devez l'exécuter() puis il va produire un tableau. Ensuite, vous itérez le tableau et renvoyez la valeur.

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

Merci les gars pour toute votre aide. J'ai eu le résultat que je voulais. Ce que j'ai fait était d'ajouter ... SELECT tasks_cstm.activity_type_c, COUNT (tasks_cstm.activity_type_c) AS TOTALCOUNT (0-4) pour chaque résultat.

et pour chaque résultat unique (0-4) je dois avoir une autre fetchbyassoc donc je saisis

$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); 

et aussi i écho à l'aide de cette

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

et oui j'ai obtenu la réponse j'ai besoin. MERCI BEAUCOUP POUR TOUTE L'UR HELP (^ 3 ^)

Questions connexes