[RESOLU] Array ou pas Array, mon intersect semble dire NON !

Array ou pas Array, mon intersect semble dire NON ! [RESOLU] - PHP - Programmation

Marsh Posté le 01-03-2008 à 23:29:19    

Bonjour,  
 
je dois faire une intersection de deux tableaux créés a l'aide de 2 requetes SQL :
 
 

Code :
  1. //1ere requete //
  2. $requete_comp_etu = "select id_etudiant from posseder where id_competence=".$_GET['compet'];
  3.        $result_comp_etu = mysql_query($requete_comp_etu,$idcom) or die("Erreur : ".mysql_error()) ;
  4.  while($don_comp_etu = mysql_fetch_array($result_comp_etu)){
  5.     extract($don_comp_etu);
  6.   $array_comp_etu[$_GET['compet']] = $id_etudiant;
  7.   print_r("aa ".$array_comp_etu[$_GET['compet']]."<br />" );
  8.  }
  9. //2e requete //
  10. $requete_dept_etu = "select id_etudiant from deplacer where id_departement=".$_GET['departement'];
  11.        $result_dept_etu = mysql_query($requete_dept_etu,$idcom) or die("Erreur : ".mysql_error()) ;
  12.  while($don_dept_etu = mysql_fetch_array($result_dept_etu)){
  13.     extract($don_dept_etu);
  14.   $array_dept_etu[$_GET['departement']] = $id_etudiant;
  15.  }


 
jusque ici pas de probleme, les 2 requete font leur boulot !!
Mais quand viens l'heure de faire l'intersection des 2 tableaux, array_intersect déclare forfait, il doit dans mon exemple me renvoyé un seul résultat :  

Code :
  1. $concorde = array_intersect ($array_comp_etu, $array_dept_etu);
  2.  while (list($key, $val)=each($concorde)) {
  3.    echo $val."\n";
  4.   }


est-ce que ce serait à cause du fait que array_intersect ne se fasse que sur des array fait ainsi :

Code :
  1. $array_comp_etu = array (5, 8);
  2.      $array_dept_etu = array (5);


 
je suis tellement perdu que je ne sais plus quoi poser comme question
 
Just help me please.
 
Merci


Message édité par DJesus le 02-03-2008 à 14:22:56
Reply

Marsh Posté le 01-03-2008 à 23:29:19   

Reply

Marsh Posté le 02-03-2008 à 01:59:18    

ton code est completement faux :

Code :
  1. $array_comp_etu[$_GET['compet']] = $id_etudiant;
  2. $array_dept_etu[$_GET['departement']] = $id_etudiant;


dans les deux cas tu réaffecte la valeur au meme indice du tableau, tu auras donc 2 tableaux avec le dernier id_etudiant à chaque fois
 
je vois pas l'interet d'utiliser une clé identique dans ce cas (a moins que tu t'en serve ailleurs)
 
fait ainsi et ca marchera beaucoup mieux

Code :
  1. $array_comp_etu[] = $id_etudiant;
  2. $array_dept_etu[] = $id_etudiant;


Message édité par Profil supprimé le 02-03-2008 à 02:01:08
Reply

Marsh Posté le 02-03-2008 à 14:21:22    

Il est vrai que ca marche mieux !!  
 
Merci Spike

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed