Page 1 sur 1

deux requêtes un tableau

Posté : 15 nov. 2011, 15:50
par franck
Bonjour à tous,

j'ai effectué pas mal de recherche sans trouvé la solution, je recherche à afficher le résultat de deux requêtes dans un même table j'ai essayé avec ce code mais ça ne fonctionne pas :
				
          $query="select count( DISTINCT postes.pi )as somme
				  from postes
				  ";
				  
		 $query2="select count( DISTINCT pi_poste )as somme2
				  from tpr_poste
				  where maj='fait'
				  ";		  
		  
		  
		  $res=mysql_query($query) or die ("erreur1");   
		  $res2=mysql_query($query2) or die ("erreur2"); 

          echo"<table width='0%' cellpadding='5' cellspacing='1' border='1' align='center'>";
          echo"<tr><td align='center'><b>Nombre de postes</b></td><td align='center'><b>Nombre de postes traités</b></td></tr>";
			
		  while($val=mysq_fetch_array($res) and $data=mysq_fetch_array($res2))
          {		
              
			  $count = $val['somme'];
              $count2 = $data['somme2'];
              

              echo"<tr><td>".$count."</td><td>".$count2."</td></tr>";
          }

          echo"</table><br>";
Merci par avance.

Re: deux requêtes un tableau

Posté : 15 nov. 2011, 16:12
par moogli
salut,

met les deux dans des tableaux et ensuite parcourt l'un et l'autre des tableaux pour afficher.

a tu essayé une seule requete comme ça ?
                       
          select count( DISTINCT postes.pi )as somme,  count( DISTINCT pi_poste )as somme2
                                   from poste, tpr_poste
                                   where tpr_poste.maj='fait';
@+

Re: deux requêtes un tableau

Posté : 15 nov. 2011, 17:00
par franck83
Oui j'ai essayé mais comme les deux tables sont liés cela me sort le même chiffre des deux cotés, c'est pour cela que j'effectue deux requêtes différentes, sinon je vais créer deux tableaux et essayer de les afficher l'un à côté de l'autre.

Re: deux requêtes un tableau

Posté : 15 nov. 2011, 17:33
par AB
Je vois pas vraiment où tu bloques...
Si tu as deux tableaux php tu peux les fusionner avec array_merge ou les additionner avec un simple '+' : $tab_result = $tab1+$tab2

Re: deux requêtes un tableau

Posté : 15 nov. 2011, 17:37
par franck83
ah mais c'est juste que je ne savais pas que l'on pouvait faire ça :oops: , je vais essayer ceci de suite. :D

Re: deux requêtes un tableau

Posté : 15 nov. 2011, 19:11
par moogli
Sinon la version brutal tu fait une requête avec deux subselect pour le comptage.

Je ne vois pas trop pourquoi tu aurais le même résultat avec ce que j'ai mis doit me manquer un truc :/

Re: deux requêtes un tableau

Posté : 16 nov. 2011, 10:39
par franck83
la requête ne fonctionne car pi_poste est la clé étrangère de pi et du coup j'ai les mêmes valeurs dans les deux tables et la fonction where joue sur les deux colonnes et non pas seulement sur la deuxième. (je ne sais pas si ce que je viens d'écrire est très clair).

Re: deux requêtes un tableau

Posté : 16 nov. 2011, 10:50
par Mazarini
Bonjour,

Sauf erreur de ma part (ou erreur mysql), les 2 requêtes initiales retournent toujours une ligne (jamais 0 et jamais plus) il est donc inutile de faire un while et de se torturer les méninges.

Si les 2 requetes initiales sont eronnées, il faut créer une vue avec un groupe by sur chaque table et faire le select sur ces 2 vues pour rapprocher les comptages.

Re: deux requêtes un tableau

Posté : 16 nov. 2011, 11:56
par franck83
Bonjour,

Sauf erreur de ma part (ou erreur mysql), les 2 requêtes initiales retournent toujours une ligne (jamais 0 et jamais plus) il est donc inutile de faire un while et de se torturer les méninges.
En effet j'ai récupéré les résultats dans deux variable que j'affiche dans un tableau, des fois le plus simple ne saute pas tout de suite aux yeux.
Merci pour votre aide