Regrouper les resultats de 2 requetes selon un meme attribut

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Regrouper les resultats de 2 requetes selon un meme attribut

Regrouper les resultats de 2 requetes selon un meme attribut

par Posthume » 09 mai 2010, 23:59

Bonjour,

Je me posais la question: si je veux regrouper les résultats de deux requetes différentes selon un meme attribut commun, est ce que c'est possible?

Par exemple (j'utilise PDO):

1ere requete:
$req_Dom_Gen= $db->query(("SELECT DISTINCT PROTEINE.organisme, PROTEINE.id_Prot, OCC_DC.id_Prot FROM PROTEINE, OCC_DC WHERE OCC_DC.id_Dom = '$domaine' AND PROTEINE.id_Prot=OCC_DC.id_Prot ORDER BY PROTEINE.organisme ASC"));
2eme requete:
$req_Dom_Gen1= $db->query(("SELECT DISTINCT PROTEINE.organisme, PROTEINE.id_Prot, OCC_NVDC_PAR_DC.id_Prot FROM PROTEINE, OCC_NVDC_PAR_DC WHERE OCC_NVDC_PAR_DC.id_Dom = '$domaine' AND OCC_NVDC_PAR_DC.FDR <='$FDR' AND PROTEINE.id_Prot=OCC_NVDC_PAR_DC.id_Prot ORDER BY PROTEINE.organisme ASC"));
Et voici ce que j'ai essayé de faire pour regrouper les résultats selon l'attribut "organisme":
$res = $req_Dom_Gen->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
$res1 = $req_Dom_Gen1->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);

foreach ($res as $k => $a) {
printf ('<h1>%s</h1>','<center>'.$k.'</center>');
echo '<ul>';
echo '<h2><center>Occurrences Connues:</h2></center>';

foreach ($a as $v) {
$id=substr($v,0,-1);
                    
printf ('<li>%s</li>',"<center><"."<a href=\"http://www.lirmm.fr/~terrapon/coddDB/".$id.".html\">".$id."</a>"."></center>");
}
echo '</ul>';
echo '<h2><center>Nouvelles Occurrences:</h2></center>';

foreach ($res1 as $k1 => $a1) {
foreach ($a1 as $v1) {
if($k1==$k)
{printf('<li>%s</li>', "<center><"."<a href=\"http://www.lirmm.fr/~terrapon/coddDB/".$v1.".html\" >".$v1."</a>"."></center>");}
}
echo '</ul>';
}
                
}  
Mais cela n'affiche pas les résultats de la 2eme requete, seulement ceux de la 1ere (quand bien meme les 2 requetes marchent individuellement) et je ne vois pas vraiment ou est l'erreur :oops:

Avez vous une idée s'il vous plait?

Merci a vous.