Pb liste déroulante plus ou moins complexe

cs_brut2pomme Messages postés 2 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 25 mars 2011 - 25 mars 2011 à 13:46
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 - 29 mars 2011 à 09:55
Bonjour,

Je vous demande un peu d'aide pour un problème que je n'arrive pas à résoudre seul (même à l'aide du net).

J'ai 2 tables dans une base de données qu'on appellera produit1 et produit2 dont l'id est commun aux deux tables.
Je voudrai afficher dans ma liste déroulante tous les id du produit1 sauf si ceux-ci existent dans les id de la table produit2.
Voici ce que j'ai bidouillé pour le moment:

<?php	$connexion = db_connect();
   	$sql = "SELECT * FROM produit1"; 
   	$resultat = mysql_query($sql, $connexion);
$sql2 = "SELECT * FROM produit2"; 
   	$resultat2 = mysql_query($sql2, $connexion);
        while ($sql = mysql_fetch_array($resultat) ) 
        {
       while ($sql2 =mysql_fetch_array($resultat2))
       {
     if ($sql[id] <> $sql2[id])
     {
  echo "<option value=".$sql[id].">".$sql[id];
  echo "</option>
";	
      }
}
}
?>


Merci de votre aide

1 réponse

Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
29 mars 2011 à 09:55
Si tu veux faire marcher ca il fait que tes deux tables représente l'état actuel de tes 2 select. Ça voudrai dire les synchroniser avec ta base et la seulement tu pourra directement faire ca en SQL de plusieurs manières différentes comme avec une sous requête SELECT * FROM produit1 WHERE id_produit1 NOT IN(SELECT id_produit1 FROM produit2) la y'a plein de façon de le faire mais ce n'est pas une bonne méthode de stocker dans ta base tes select comme ca.

Une solution bien meilleure serai d'utiliser Javascript pour contrôler que les éléments de la liste 1 ne soient pas dans la liste 2. Ça demande un peu plus de connaissance en Javascript mais c'est plutôt simple a faire avec des librairies comme JQuery.

Un exemple vaut mieux qu'un long discours aussi je t'invite a regarder ceci :

http://jqueryui.com/demos/sortable/#connect-lists
0
Rejoignez-nous