Page 1 sur 1

Problème avec requête

Posté : 08 avr. 2007, 17:19
par Jumano
Bonjour,
J'ai une table 'affectation'
CREATE TABLE `affectation` (
  `ID_AFFECT` bigint(20) NOT NULL auto_increment,
  `DATE_AFFECT` date NOT NULL,
  `ID_COURAR` bigint(20) default NULL,
  `NOM_UTIL` varchar(50) NOT NULL,
  `OBSAFFECT` text,
  `ID_BUREAUACT` varchar(100) default '0',
  `ID_BUREAUINF` varchar(100) default '0',
  `DATE_MODIF` date default NULL,
  `NOM_MODIF` varchar(50) default NULL,
  PRIMARY KEY  (`ID_AFFECT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=35 ;
Cette table est alimentée par un formulaire qui permet d'affecter un courrier arrivé à un ou plusieurs bureaux soit pour action (id_bureauact) ou soit pour info (id_bureauinf).
Les deux champs id_bureauact et id_bureauinf son alimenté par plusieurs checkbox cochés avec ensuite un implode comme ceci :
$dateaffect = $_POST['date_affect'];
$id_courar = $_POST['id_courar'];
$nom_util = $_POST['nom_util'];
$obsaffect = $_POST['obsaffect'];

$idbureauact = implode(' ,', $_POST['idbureauact']); 
$idbureauinf = implode(' ,', $_POST['idbureauinf']);

$insertSQL = "INSERT INTO affectation (DATE_AFFECT, ID_COURAR, NOM_UTIL, OBSAFFECT, ID_BUREAUACT, ID_BUREAUINF) VALUES('$dateaffect','$id_courar','$nom_util','$obsaffect','$idbureauact','$idbureauinf')";
J'obtiens donc par exemple pour le champs id_bureauact : 1102,2201,3511,3514.
1102 correspondant au bureau N°1, 2201 au bureau N°3, etc ....
Jusque là pas de problème.
Mon soucis viens que je n'arrive pas lors d'une requête à savoir si tel ou tel bureau est destinataire du courrier.
J'ai en fait un chef de service (id_bureau = 35) qui supervise les bureaux dont l'identifant commence par 35..
Si quelqu'un avait une piste.
Merci d'avance.

Posté : 08 avr. 2007, 18:51
par Jumano
J'ai trouvé une solution, je n'utilise plus implode mais je fais un foreach ce qui me créé une ligne pour chaque checkbox cochée.
Donc plus de soucis pour mes requêtes avec LIKE.