bonjour,
j'ai un petit problème avec un update.
En fait je voudrais juste mettre à jour une colonne dans ma base mais sa me met toutes mes lignes de ma table donc cela exécute plein de update en fait. Pour infos mon dbi UpdateBdArray contient toutes lignes de mon tableau d'enregistrement. Dans mon deuxième foreach je récupère les id de mes div stockès dans div_ordre. Voilà. J'espère que vous comprenez mon pti soucis.
$div_ordre = $_POST['div_ordre'];
$tab_structure = explode(',', $div_ordre);
foreach ($_POST as $k => $v)
{
if (!$v)
continue;
if (! ereg("^lst_sturct_id([0-9]+)$",$k,$o)) continue; // On ne recherche que les champs hidden embarquant l'id de la bdd
$ligne = $o[1];
// numéro de la ligne en cours de traitement
$id = $v;
// L'id de l'enregistrement est la valeur de ce champs
$Data = array(); // Créer un tableau vide pour stoker les valeurs à enregistrer
$Data['struct_type_stream'] = $_POST['type_'.$ligne];
$Data['struct_nom'] = $_POST['nom_'.$ligne];
$Data['struct_libelle'] = $_POST['libelle_'.$ligne];
$Data['struct_datatype'] = $_POST['datatype_'.$ligne];
if ($id)
{ // Si un id est dispo => enregistrement existant à modifier, sinon enregistrement à créer
foreach ($tab_structure as $k =>$v)
{
$id = substr($v, 7);
$Data = array();
$Data['struct_ordre'] = $k+1 ;
dbiUpdateBDArray('stream_structure_2', 'sturct_id', $id, $Data);
$msg = ("Mise à jour réussie");
}
(ce n'est pas optimisé mis j'attends de résoudre ce problème pour le faire).
Merci d'avance.
olivier

