bonsoir,
Citation de SpereD : A savoir qu'il y a 2 BDD, une avec les classes et spécialisation de chacun ( 3 à 4 ) et l'autre avec le besoin de celles-ci.
tout d'abord une petite précision de vocabulaire. Tu n'as pas 2 BDD mais 2 Tables dans ta BDD ...
Ensuite dans ta table `recrut_besoin`, quelles différences entre `id` et `ref` ? Tu leurs donnes visiblement les mêmes valeurs quand tu initialises ta table, et comme tu utilises `ref` pour ton update, ça pourrait nous aider ...
Ensuite il serait bien de nous en dire un peu plus sur ce que tu veux faire exactement. A quoi ressemble ton formulaire d'update, quelles sont les données transmises ?
Concernant ton code :
Citation : if(!empty($_GET['action']) == 'update'){ empty ou == 'update' faut choisir parce que là je crains des résultats étranges ...
//if(!empty($_POST['update'])){
$query3 = reqmysql('SELECT * FROM `recrut_besoin`'); là tu récupère TOUTE ta table `recrut_besoin`
while($data3 = mysql_fetch_array($query3)){ pour chaque ligne de ta table `recrut_besoin` ...
{
dans la table `recrut_besoin` tu remplaces les besoins par ceux POSTés si `ref`== l'`id` de la ligne en cours. Comme pour chaque ligne tu as `id`==`ref` tu remplaces donc les besoins de la ligne en cours ...
reqmysql("
UPDATE `recrut_besoin`
SET `besoin1` ='".$_POST[besoin1]."',
`besoin2` ='".$_POST[besoin2]."',
`besoin3` ='".$_POST[besoin3]."',
`besoin4` ='".$_POST[besoin4]."'
WHERE `ref` ='".$data3['id']."'
") or $erreur = true;
}
}
echo df_message('information','Les données ont été mises à jour') ;
header('location:index.php?mod='.$K_mod.'&ac=gestion') ;
}
Il est donc tout à fait normal que TOUTE ta table soit mise à jour puisque tu fais ta requête d'update pour chaque ligne de ta table ...