J'aimerais un update d'une colonne mais pas de toutes mes lignes

Signaler
Messages postés
170
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
28 janvier 2011
-
Messages postés
170
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
28 janvier 2011
-
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

1 réponse

Messages postés
170
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
28 janvier 2011

j'ai oublié de vous dire que struc_ordre c'est une colonne de ma table stream_structure_2 et c'est cette colonne  là que je dois mettre à jour.
olivier