IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

update de cases à cocher multiples qui ne fonctionne pas


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut update de cases à cocher multiples qui ne fonctionne pas
    Bonjour à tous,

    Pour faire suite à mon post http://www.developpez.net/forums/d12...e/#post6942613 Je n'arrive pas à faire un update des caser à cocher 'ok'. Pour rappel, le code que 'rawsrc' m'avait donné fonctionne parfaitement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <?php
    $mission_id = $PDO->quote($modif_renfort_id, PDO::PARAM_INT);
    $sql        = <<<SQL
    SELECT
        d.vd_id, d.vd_renfort_id, d.id_renfort_volontaires, d.nom, d.date_dispo, d.ok,
        v.*,
        m.date_debut,
        m.date_fin
    FROM
        volontaires_dispo d
        INNER JOIN renfort_volontaires v ON v.k_id_renfort_volontaires = d.id_renfort_volontaires
        INNER JOIN renfort m             ON m.id_renfort               = v.k_id_renfort
    WHERE
        m.id_renfort = {$mission_id}
        AND d.date_dispo BETWEEN m.date_debut AND m.date_fin
    ORDER BY
        d.date_dispo
    SQL;
     
    $data = $PDO->query($sql, PDO::FETCH_ASSOC)->fetchAll(); // j'avais oublié le fetchAll()
     
    if (empty($data)) {
        // aucun volontaire disponible
     
    }
    else {
        // les dates sont déterminées par les bornes des dates de la mission
        // qu'on récupère du 1er enregistrement
        $debut    = DateTime::createFromFormat('Y-m-d', $data[0]['date_debut']);
        $fin      = DateTime::createFromFormat('Y-m-d', $data[0]['date_fin']);
        $interval = new DateInterval('P1D');
        $dates    = array($debut->format('Y-m-d'));
        while($debut < $fin) {
            $dates[] = $debut->add($interval)->format('Y-m-d');
        }
     
        // par défaut on considère qu'il n'y a aucune disponibilité pour chaque date
        $default_dispo = array_fill_keys(array_values($dates), false);
     
        $rows = array();
        foreach($data as $row) {
            $id = $row['k_id_volontaire'];
            // si on n'a pas déjà rencontré le volontaire on le crée
            if (empty($rows[$id])) {
                $rows[$id] = array(
                    'dispo' => $default_dispo,
                    'nom'   => $row['nom'],
                    'ok'    => array()
                    // d'autres valeurs à la place des * dans ton SELECT
                );
            }
            // on récupère les diponibilités
            $rows[$id]['dispo'][$row['date_dispo']] = true;
            // on récupère la colonne ok
            $rows[$id]['ok'][$row['date_dispo']] = ( empty($row['ok']));
        }
     
        // rendu
    ?><div class="centrage_submit">
        <table bgcolor="#FFFFFF">
            <thead><!-- entête du tableau -->
                <tr>
                    <th class="td_140px"><b> Réservistes </b></th>
     
                    <?php foreach($dates as $d): ?>
    		<?php // ... on la convertit donc en format: jj-mm-aaaa
    			$d = implode('-', array_reverse(explode('-', $d)));
    		?>
                        <th class="td_date"><?php echo $d ?></th><!-- <th> est le <td> de l'entête du tableau -->
                    <?php endforeach ?>
                </tr>
            </thead>
            <tbody>
                <?php foreach($rows as $id => $row): ?>
                <tr>
                <?php $nom = $row['nom']; ?>
                    <td bgcolor='#CCCCCC'><input type="text" name='nom[]' value="<?php echo $nom ?>" class="tableau_gris"</td>
                    <?php foreach($row['dispo'] as $date => $v): ?>
                    <td bgcolor='#CCCCCC'>
                        <?php if ($v): ?>
    			<input type="checkbox" name='selection_date[]' <?php echo (($row['ok'][$date]) ? '' : 'checked="checked" ') ?>/>
    			<?php else: ?>
    			&nbsp;
                        <?php endif ?>
                    </td>
                    <?php endforeach ?>
                </tr>
                <?php endforeach ?>
            </tbody>
        </table>
    	</div>
    <?php
    }
    }
    echo '<div class="centrage_pre">';
    print_r("<pre>");print_r($data);print_r("</pre>");
    print("\n");
    echo '</div>';
    }
    ?>
    <input type="submit" name="validation_a1"  value=" --> Modifier le renfort <-- " />
    J'ai simplement rajouté la variable $nom pour avoir une valeur dans mon input 'nom'. Avec ce code j'obtiens ce tableau dans mon formulaire:
    - id_volontaires_dispo étant l'identifiant de la ligne.
    - ok : la case à cocher correpondant à la ligne id_volontaires_dispo donc si ma table est composé comme ceci pour par exemple le renfort 52:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Table volontaires_dispo
    id_volontaires_dispo | k_id_renfort_volontaires | nom  | date_dispo | ok
    ----------------------------------------------------------------------
              1          |             1            | nom1 | 2012-09-01 | 1
              2          |             1            | nom1 | 2012-09-02 | 0
              3          |             1            | nom1 | 2012-09-03 | 0
              4          |             2            | nom2 | 2012-09-01 | 1
              5          |             2            | nom2 | 2012-09-02 | 0
              6          |             2            | nom2 | 2012-09-03 | 0
    - id_volontaires_dispo = 1, nom serait = à nom 1, ok = 1 (validé)
    - id_volontaires_dispo = 2, nom serait = à nom1, ok = 0 (non validé)
    - id_volontaires_dispo = 3, nom serait = à nom1, ok = 0 (non validé)
    - id_volontaires_dispo = 4, nom serait = à nom2, ok = 1 (validé)
    - id_volontaires_dispo = 5, nom serait = à nom2, ok = 0 (non validé)
    - id_volontaires_dispo = 6, nom serait = à nom2, ok = 0 (non validé)

    Je visualise bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
           nom       | 01-09-2012 | 02-09-2012 | 03-09-2012 | 
    --------------------------------------------------------
            nom1     |     1      |     0      |     0      |
            nom2     |     1      |     0      |     0      |
    Si cela est utile voilà ce que me donne un print_r($data):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    Array
    (
        [0] => Array
            (
                [vd_id] => 256
                [vd_renfort_id] => 52
                [id_renfort_volontaires] => 108
                [nom] => 4
                [date_dispo] => 2013-05-01
                [ok] => 1
                [k_id_renfort_volontaires] => 108
                [rv_host] => 
                [k_id_renfort] => 52
                [k_id_volontaire] => 4
                [date_debut] => 2013-05-01
                [date_fin] => 2013-05-03
            )
     
        [1] => Array
            (
                [vd_id] => 259
                [vd_renfort_id] => 52
                [id_renfort_volontaires] => 109
                [nom] => 6
                [date_dispo] => 2013-05-01
                [ok] => 1
                [k_id_renfort_volontaires] => 109
                [rv_host] => 
                [k_id_renfort] => 52
                [k_id_volontaire] => 6
                [date_debut] => 2013-05-01
                [date_fin] => 2013-05-03
            )
     
        [2] => Array
            (
                [vd_id] => 257
                [vd_renfort_id] => 52
                [id_renfort_volontaires] => 108
                [nom] => 4
                [date_dispo] => 2013-05-02
                [ok] => 0
                [k_id_renfort_volontaires] => 108
                [rv_host] => 
                [k_id_renfort] => 52
                [k_id_volontaire] => 4
                [date_debut] => 2013-05-01
                [date_fin] => 2013-05-03
            )
     
        [3] => Array
            (
                [vd_id] => 260
                [vd_renfort_id] => 52
                [id_renfort_volontaires] => 109
                [nom] => 6
                [date_dispo] => 2013-05-02
                [ok] => 0
                [k_id_renfort_volontaires] => 109
                [rv_host] => 
                [k_id_renfort] => 52
                [k_id_volontaire] => 6
                [date_debut] => 2013-05-01
                [date_fin] => 2013-05-03
            )
     
        [4] => Array
            (
                [vd_id] => 258
                [vd_renfort_id] => 52
                [id_renfort_volontaires] => 108
                [nom] => 4
                [date_dispo] => 2013-05-03
                [ok] => 0
                [k_id_renfort_volontaires] => 108
                [rv_host] => 
                [k_id_renfort] => 52
                [k_id_volontaire] => 4
                [date_debut] => 2013-05-01
                [date_fin] => 2013-05-03
            )
     
        [5] => Array
            (
                [vd_id] => 261
                [vd_renfort_id] => 52
                [id_renfort_volontaires] => 109
                [nom] => 6
                [date_dispo] => 2013-05-03
                [ok] => 0
                [k_id_renfort_volontaires] => 109
                [rv_host] => 
                [k_id_renfort] => 52
                [k_id_volontaire] => 6
                [date_debut] => 2013-05-01
                [date_fin] => 2013-05-03
            )
     
    )
    Maintenant je n'arrive pas à faire un update de mes cases 'ok' si par exemple je change dans mon formulaire les données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
           nom       | 01-09-2012 | 02-09-2012 | 03-09-2012 | 
    --------------------------------------------------------
            nom1     |     1      |     1      |     0      |
            nom2     |     0      |     0      |     1      |
    Le code de ma page renfort_modification_ok.php qui traite l'update
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    $modif_renfort_id = '';
    $selection_date = '';
    $nom = '';
    // La page d'insertion 
    	if ( $_POST['modif_renfort_id'] > 0  && $_POST['selection_date'] >= 0  && $_POST['nom'] > 0);
    	{
    		require"./includes/identifiants.php";
    		require"includes/header.php"; 
    		require"includes/menu_brigade_55989526915988.php";
    		$nom = $_POST['nom'];
    		$modif_renfort_id = $_POST['modif_renfort_id'];
    		$selection_date = $_POST['selection_date'];
    		print_r( $nom);
    		print_r( $modif_renfort_id);
    		print_r( $selection_date);
    // Avec une requête préparée
    $req = $PDO->prepare('UPDATE volontaires_dispo SET ok = :selection_date WHERE vd_renfort_id = :modif_renfort_id AND nom = :nom');
    $req->execute(array('vd_renfort_id' => $modif_renfort_id, 'nom' => $nom, 'ok' => $selection_date));
    }	
    ?>
    Alors avant que 'rawsrc' ne se moque parce que j'ai cherché pendant un mois la solution (seulement 2 jours pour ce cas) je vous demande humblement de l'aide j'obtiens ces messages d'erreur et de notice:
    Notice: Array to string conversion in C ligne 20
    Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C ligne 20
    Ce qui correspond à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute(array('vd_renfort_id' => $modif_renfort_id, 'nom' => $nom, 'ok' => $selection_date));
    Encore merci d'avance!
    Mimosa21
    PS: merci rawsrc pour la solution de mon dernier post.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Sans voir le formulaire c'est difficile de te répondre.
    Au vu de l'erreur, ton formulaire renvoit un tableau pour au moins une des valeurs.

    Fait un
    pour contrôler.

    Si ton formulaire renvoit intentionnellement un tableau car tu cherches à modifier plusieurs valeurs, alors il faut parcourir ce tableau et faire une requête UPDATE par ligne à modifier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Citation Envoyé par sabotage
    Sans voir le formulaire c'est difficile de te répondre.
    Je crois qu'il l'a tout simplement oublié, non ?
    On voit bien la balise <input type="submit".../> mais la balise <form>...</form> tu l'as cachée ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Bonjour rawsrc (ça fait plaisir) et Sabotage,

    Oui ils existent bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <FORM name="renfort_a_modifier" id="renfort_a_modifier" action="index.php?p=content/renfort/renfort_modification_ok" method="post" >
    en haut de mon formulaire justement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="validation_a1"  value=" --> Modifier le renfort <-- " />
    et fermeture du form tout en bas par

  5. #5
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    la soluce réside dans le passage au script du couple {id; état case à cocher}.
    Donc il faudrait que tu fasses le lien ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="selection_date[]" <?php echo (($row['ok'][$date]) ? '' : 'checked="checked" ') ?>/>
    tu dois te débrouiller pour que selection_date soit un tableau ayant pour clé les id correspondant aux valeurs de la colonne ok, quelque chose dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="selection_date[<?php echo $row['id'] ?>" <?php echo (($row['ok'][$date]) ? '' : 'checked="checked" ') ?>/>
    Ainsi dans ton script de traitement, tu vas récupérer en une seule passe, les id des enregistrements avec le statut de la case à cocher.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Bonjour rawsrc, Sabotage et tout le monde,

    Bon ben comme d'habitude je galère quelle valeur dois-je mettre dans la value de ma case à cocher name="selection_date[<?php echo $row['id'] ?>" pour que je reçoive dans ma page de retour si je fais un print_r() les changements effectués sur les cases à cocher.

    Comme d'habitude plusieurs jours passés dessus sans résultat probant!!!

  7. #7
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Re mimosa21

    Poste donc l'intégralité du code de ton formulaire ainsi que le code de traitement de la soumission. Merci.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    <HEAD>
    	<TITLE>Modification d'un renfort</TITLE>
    	<SCRIPT type="text/javascript" src="<?php echo WEBROOT; ?>js/case_pour_valider_un_formulaire.js"></SCRIPT>
    </HEAD>
    <?php
       // Ici on autorise l'accés à une unité
       $Auth->allow('brigade');
     
       if( isset($_POST['modif_renfort_id']) && !empty($_POST['modif_renfort_id']))	
       {
         $modif_renfort_id = $_POST['modif_renfort_id'];
         require"./includes/identifiants.php";
     
         $select3 = $PDO->query(" SELECT essai_renfort.*, membres.membre_pseudo 
    			      FROM essai_renfort
    			      LEFT JOIN membres ON essai_renfort.renfort_membre_id=membres.membre_id
    			      WHERE renfort_id = $modif_renfort_id ");
         $select3->setFetchMode(PDO::FETCH_OBJ);
         if($select3) 
         {	
           require"includes/header.php"; 
           require"includes/menu_brigade_55989526915988.php";
           while( $enregistrement3 = $select3->fetch())
           {
    	 $renfort_debut = $enregistrement3->renfort_debut; // On reçoit la date de début de renfort sous format mysql : aaaa-mm-jj ...
    	 $renfort_debut = implode('-', array_reverse(explode('-', $renfort_debut))); // ... on la convertit en format php : jj-mm-aaaa
    	 $renfort_fin = $enregistrement3->renfort_fin; // On reçoit la date de fin de renfort sous format mysql : aaaa-mm-jj ...
    	 $renfort_fin = implode('-', array_reverse(explode('-', $renfort_fin))); // ... on la convertit en format php : jj-mm-aaaa
    ?>			
           <?php if($Auth->user('membre_id')):	?>
    	   <FORM name="renfort_a_modifier" id="renfort_a_modifier" action="index.php?p=content/renfort/renfort_modification_ok1" method="post" ><br/>
    		<fieldset>
    		   <h2>Renfort n°<?php echo $enregistrement3->renfort_id; echo " - "; echo $enregistrement3->renfort_unite;?></h2>
    		   <p>Le numéro du renfort est attribué de manière automatique et singulière par le bureau réserve.</p>
    		   <div id="demande_renfort_left_8">
    		        <p class="ccab">	
    		           <input name="modif_renfort_id" type="text" value="<?php echo $enregistrement3->renfort_id;?>" />
    			   <input name="modif_renfort_host" type="text" value="" />
    			   <input type="text" size="3" name="modif_renfort_membre_id" value="<?php echo $Auth->user('membre_id');?>"/>
    			</p>
    			<p>
    			    <label for="modif_renfort_mission">Mission : </label>
    			    <input type="text" class="style" size="25" name="modif_renfort_mission" id="modif_renfort_mission" value="<?php echo $enregistrement3->renfort_mission;?>" onFocus="this.blur()" />
    			</p>
     
    			 <p>Demandée par : <?php echo $enregistrement3->membre_pseudo;?></p>
    		         <p><!--------------------------------------- LISTE HEBERGEMENT ----------------------------------------->
    			    <label for="hebergement">Logement : </label>
    			    <td>
    				<select name="modif_renfort_hebergement" size="" id="hebergement" style="width:200px; border:1px solid #abadb3" >
                                       <option value="Pas d'hébergement" <?php if ($enregistrement3->renfort_hebergement == "Pas d'hébergement") echo 'selected="selected"';?>>Pas d'hébergement</option>					
                                        <option value="Hébergement possible" <?php if ($enregistrement3->renfort_hebergement == "Hébergement possible") echo 'selected="selected"';?>>Hébergement possible</option>				
                                        <option value="A voir avec l'unité" <?php if ($enregistrement3->renfort_hebergement == "A voir avec l'unité") echo 'selected="selected"';?>>A voir avec l'unité</option>
    				</select>
    			     </td>
                             </p><!------------------------------------- FIN LISTE HEBERGEMENT -----------------------------------!-->	
    			 <p>
    			    <label for="agorha">Mission agorha : </label> 
    			    <input type="text" class="style" size="5" name="modif_renfort_agorha" id="agorha" value="<?php echo $enregistrement3->renfort_agorha;?>" onFocus="this.blur()" />
    			 </p>
    		    </div>
    		    <div class="cadre_demande_renfort_mission">
    			<div class="demande_renfort_mission_right_edsr_a">
    			   <p>
    			      <label for="modif_renfort_lieu_tj">Ville de destination : </label>
    			      <input type="text" class="style" size="18" name="modif_renfort_lieu_tj" id="modif_renfort_lieu_tj" value="<?php echo $enregistrement3->renfort_lieu_tj;?>" onFocus="this.blur()" />
    			   </p>
    			   <p>
    			      <label for="nb_res1">Nombre de réservistes demandés : </label> 
    			      <input type="text" class="style" size="3" name="modif_renfort_nb_res" id="nb_res1" value="<?php echo $enregistrement3->renfort_nb_res;?>" />
    			   </p>
    	                   <p><!---------------------------- LISTE HORAIRES --------------------------------------->
    			       <label for="horaire">Horaires : </label>
    			       <td>
    				   <select name="modif_horaire" size="" id="horaire" style="width:275px; border:1px solid #abadb3" >
    				      <option value=" de 08h00 à 19h00" <?php if ($enregistrement3->renfort_horaire == "de 08h00 à 19h00") echo 'selected="selected"';?>> de 08h00 à 19h00</option>					
    				      <option value="de 08h00 à 18h00" <?php if ($enregistrement3->renfort_horaire == "de 08h00 à 18h00") echo 'selected="selected"';?>>de 08h00 à 18h00</option>				
    				      <option value="de 08h00 le premier jour à 19h00 le dernier" <?php if ($enregistrement3->renfort_horaire == "de 08h00 le premier jour à 19h00 le dernier") echo 'selected="selected"';?>>de 08h00 le premier jour à 19h00 le dernier</option>				
    				      <option value="de 08h00 le premier jour à 18h00 le dernier" <?php if ($enregistrement3->renfort_horaire == "de 08h00 le premier jour à 18h00 le dernier") echo 'selected="selected"';?>>de 08h00 le premier jour à 18h00 le dernier</option>				
    				      <option value="Autre (voir observations)" <?php if ($enregistrement3->renfort_horaire == "Autre (voir observations)") echo 'selected="selected"';?>>Autre (voir observations)</option>
    				    </select>
    			        </td>
    			  </p><!------------------------------------------ FIN LISTE HORAIRES ----------------------!--------------------->
    		      </div>
    		      <div class="demande_renfort_mission_center_edsr_a">
    			  <p>
    		             <label for="modif_renfort_debut">Date début : </label>
    			     <input type="text" class="style" size="8" name="modif_renfort_debut" id="modif_renfort_debut" value="<?php echo $renfort_debut;?>" onFocus="this.blur()" />
    			  </p>
    		      </div>
    		      <div class="demande_renfort_mission_center_edsr_a">
    			 <p>
    			    <label for="modif_renfort_fin">Date fin : </label>
    			    <input type="text" class="style" size="8" name="modif_renfort_fin" id="modif_renfort_fin"  value="<?php echo $renfort_fin;?>" onFocus="this.blur()" />
    			  </p>
    		     </div>
    		     <div class="cadre_demande_renfort_confirmation_cie_5">
    			<label class="" for="renfort_obs">Observations : </label>                
                             <p>
    			    <textarea class="observation_2" rows="3" cols="38" type="text" size="1" name="modif_renfort_obs" id="renfort_obs" ><?php echo $enregistrement3->renfort_obs;?></textarea>
    			 </p>
    		     </div>
    		 </div>
    		 <div class="cadre_demande_renfort_confirmation_cie_5">
    			<!--------------------------------- CADRE CONFIRMATION CIE ---------------------------------->
    		      <div id="cadre_demande_renfort_confirmation_cie_4">
    			 <fieldset>
    			    <legend>Confirmation Cie</legend>
    				<p><!--checked = option par défaut-->
    				   <input class="" type="radio" name="modif_renfort_confirmation_cie" value="1" id="valid_cie_oui" <?php if($enregistrement3->renfort_confirmation_cie==1){echo"checked";}?>>
    				   <label id="" for="valid_cie_oui">Validé</label>
    				</p>
    				<p>
    				    <input class="remonte_radio" type="radio" name="modif_renfort_confirmation_cie" value="0" id="valid_cie_non" <?php if($enregistrement3->renfort_confirmation_cie==0){echo"checked";}?>>
    				   <label class="remonte_label" for="valid_cie_non">Non validé</label>
    				</p>
    			    </fieldset>
    			</div><!------------------------------- FIN CADRE CONFIRMATION CIE ----------------------------------------->
    		   </div>
     
    	<?php endif; ?>
    <?php
    /***********************   LA PARTIE QUI CONCERNE L'UPDATE      **************************************/
    $mission_id = $PDO->quote($modif_renfort_id, PDO::PARAM_INT);
    $sql        = <<<SQL
    SELECT
        d.vd_id, d.vd_renfort_id, d.id_renfort_volontaires, d.nom, d.date_dispo, d.ok,
        v.*,
        m.date_debut,
        m.date_fin
    FROM
        volontaires_dispo d
        INNER JOIN renfort_volontaires v ON v.k_id_renfort_volontaires = d.id_renfort_volontaires
        INNER JOIN renfort m             ON m.id_renfort               = v.k_id_renfort
    WHERE
        m.id_renfort = {$mission_id}
        AND d.date_dispo BETWEEN m.date_debut AND m.date_fin
    ORDER BY
        d.date_dispo
    SQL;
     
    $data = $PDO->query($sql, PDO::FETCH_ASSOC)->fetchAll(); // j'avais oublié le fetchAll()
     
    if (empty($data)) {
        // aucun volontaire disponible
     
    }
    else {
        // les dates sont déterminées par les bornes des dates de la mission
        // qu'on récupère du 1er enregistrement
        $debut    = DateTime::createFromFormat('Y-m-d', $data[0]['date_debut']);
        $fin      = DateTime::createFromFormat('Y-m-d', $data[0]['date_fin']);
        $interval = new DateInterval('P1D');
        $dates    = array($debut->format('Y-m-d'));
        while($debut < $fin) {
            $dates[] = $debut->add($interval)->format('Y-m-d');
        }
     
        // par défaut on considère qu'il n'y a aucune disponibilité pour chaque date
        $default_dispo = array_fill_keys(array_values($dates), false);
     
        $rows = array();
        foreach($data as $row) {
            $id = $row['k_id_volontaire'];
            // si on n'a pas déjà rencontré le volontaire on le crée
            if (empty($rows[$id])) {
                $rows[$id] = array(
                    'dispo' => $default_dispo,
                    'nom'   => $row['nom'],
                    'ok'    => array()
                    // d'autres valeurs à la place des * dans ton SELECT
                );
            }
            // on récupère les diponibilités
            $rows[$id]['dispo'][$row['date_dispo']] = true;
            // on récupère la colonne ok
            $rows[$id]['ok'][$row['date_dispo']] = ( empty($row['ok']));
        }
     
        // rendu
    ?><div class="centrage_submit">
        <table bgcolor="#FFFFFF">
            <thead><!-- entête du tableau -->
                <tr>
                    <th class="td_140px"><b> Réservistes </b></th>
     
                    <?php foreach($dates as $d): ?>
    		<?php 	// ... on la convertit donc en format: jj-mm-aaaa
    						$d = implode('-', array_reverse(explode('-', $d)));
    				?>
                    <th class="td_date"><?php echo $d ?></th><!-- <th> est le <td> de l'entête du tableau -->
                    <?php endforeach ?>
                </tr>
            </thead>
            <tbody>
                <?php foreach($rows as $id => $row): ?>
                <tr>
                <?php $nom = $row['nom']; ?>
                    <td bgcolor='#CCCCCC'><input type="text" name='nom[]' value="<?php echo $nom ?>" class="tableau_gris"</td>
                    <?php foreach($row['dispo'] as $date => $v): ?>
                    <td bgcolor='#CCCCCC'>
                        <?php if ($v): ?>
    			<input type="checkbox" name="selection_date[<?php echo $id ?>]" <?php echo (($row['ok'][$date]) ? '' : 'checked="checked" ')?> value=" 1"/>
    		         <?php else: ?>
    			 &nbsp;
                        <?php endif ?>
                    </td>
                    <?php endforeach ?>
                </tr>
                <?php endforeach ?>
            </tbody>
        </table>
    	</div>
    <?php
    }
    }
    echo '<div class="centrage_pre">';
    print_r("<pre>");print_r($data);print_r("</pre>");
    print("\n");
    echo '</div>';
    }
    ?>
    <div class="centrage_submit">
    	<p>
    	    <input type="checkbox" name="regagree_a1" value="valeur" id="regagree_a1" onClick="ChangeStatut(this.form)"/>
    	    <label for="regagree_a1">Tout changement sur le formulaire entrainera une modification sur le renfort.</label>
    	</p>
    	     <input type="submit" name="validation_a1"  value=" --> Modifier le renfort <-- " disabled />
    	    <input type="reset" value="Annuler" /><br/><br/>
    <?php require"includes/pied_de_page.php"; ?>
           </div>
        </fieldset>
    </FORM>
    <?php
    }
    ?>

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Pardon, je me suis trompé j'ai envoyé au lieu de prévisualiser.

    C'est le code de mon formulaire complet. pour l'instant je n'arrive pas à changer la valeur de ma checkbox.

    La page "renfort_modification_ok1.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // La page d'insertion 
    	if ( array_key_exists('selection_date', $_POST));
    	{
    		require"./includes/identifiants.php";
    		require"includes/header.php"; 
    		require"includes/menu_brigade_55989526915988.php";
    		$nom = $_POST['nom'];
    		$modif_renfort_id = $_POST['modif_renfort_id'];
    		$selection_date = $_POST['selection_date'];
    		print_r( $nom);
    		print_r( $modif_renfort_id);
    		print_r( $selection_date);
    // Avec une requête préparée
    $req = $PDO->prepare('UPDATE volontaires_dispo SET ok = $selection_date WHERE vd_renfort_id = :modif_renfort_id AND nom = :nom');
    $req->execute(array('vd_renfort_id' => $modif_renfort_id, 'nom' => $nom, 'ok' => $selection_date));
    qui me renvoit avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    print_r( $nom);
    		print_r( $modif_renfort_id);
    		print_r( $selection_date);
    ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [0] => 4 [1] => 6 ) 52Array ( [4] => 1 [6] => 1 )
    et 2 fois chacunes, les erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Array to string conversion in C:\Program Files\wamp\www\site89\content\renfort\renfort_modification_ok1.php on line 23
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\Program Files\wamp\www\site89\content\renfort\renfort_modification_ok1.php on line 23
    Voilà! Pas fameux cette histoire. C'est le code que j'ai fais en premier et je suis toujours revenu sur ça car je n'ai pas fais mieux.

    Merci de ton aide rawsrc

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je suppose (parce que ton code est plutôt confus) que c'est plutot ça que tu veux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $req = $PDO->prepare('UPDATE volontaires_dispo SET ok = $selection_date WHERE vd_renfort_id = :modif_renfort_id AND nom = :nom');
    foreach ($selection_date as $nom => $selection_date) {
          $req->execute(array(':modif_renfort_id' => $modif_renfort_id, ':nom' => $nom, ':ok' => $selection_date));
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Bonjour Sabotage, rawsrc et tout le monde.

    Sabotage, ta réponse ne m'affiche plus d'erreur mais je n'arrive toujours pas à updater si je fais des changements dans les cases à cocher selection_date. Je pense que cela vient de ma value qui n'est pas bonne dans mon formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="selection_date[<?php echo $id ?>]" <?php echo (($row['ok'][$date]) ? '' : 'checked="checked" ')?> value=" 1"/>
    J'essaye de m'inspirer du post http://www.developpez.net/forums/d12...e-tableau-php/
    Laquelle des réponses entre celle d'ABCIWEB #3 ou celle de rawsrc #5 correspondrait le mieux? je pencherais pour celle d'ABCIWEB car sont input
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="ok[]" value="<?php echo $i?>" <?php if(isset($_POST['ok']) && in_array($i,$_POST['ok'])) echo 'checked="checked"'?>><?php echo $i?>
    ressemble assez au mien.

    Mais je ne vois pas comment je peux créer ma boucle for. que dois-mettre dans l'expr2 de mon for.
    Dur et agaçant de ne pas trouver. Merci de votre aide à vous deux.

  12. #12
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Quand j'ai regardé le code du post n°8 j'ai fait marche arrière.
    Il faudrait le reprendre à zéro tellement il est confus.
    Je vais essayer de prendre le temps d'ici ce week end pour passer à travers.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Meci rawsrc de prendre de ton temps pour moi

  14. #14
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    J'essaie de reprendre ton code mais j'ai quelques difficultés :

    Est ce que dans $Auth tu n'as pas accès à membre_pseudo ?
    Pourquoi fais-tu LEFT JOIN membres... avec la table essai_renfort ?
    Ensuite tu ouvres la balise <form> qu'après ceci : if ($Auth->user('membre_id')): alors que tu la ferme en fin de script (qu'elle ait été ouverte ou pas)
    D'ailleurs, je ne comprends pas trop pourquoi tu vérifies $Auth->user('membre_id'). La modification peut être faite par quelqu'un qui n'est pas authentifié ?
    Est ce les dates début et fin issues de la table renfort sont identiques aux dates essai_renfort.renfort_debut et essai_renfort.renfort_fin ?

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Bonjour rawsrc et encore merci,

    j'ai commencé à te répondre mais vu l'heure il faut que je me prépare pour le boulot. La réponse est longue et complexe alors je préfère la garder sous le coude pour la rendre lisible et compréhensible. Je te la poste demain matin sans faute.
    Je t'enverrai des images des différentes étapes depuis la connexion jusqu'à ce formulaire.

    Merci encore

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 16
    Points
    16
    Par défaut
    Bonjour tout le monde

    Tout d'abord pour vous aider à clarifier les choses peut-etre et même surement que les réponses qui vont-être faites vont les clarifier pour moi aussi!

    Ma table complète 'membres' reçoit toutes les personnes, aussi bien les volontaires que les personnes de l'active.
    Ma page class.auth.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <?php class Auth{
     
    	var $pageinterdite = "index.php?p=content/interdit";
     
    	function login($d){
    		global $PDO;
    		//Je crée une requête PDO
    		$req = $PDO->prepare('SELECT 
    			membres.membre_id, membres.membre_pseudo, membres.membre_prenom, membres.membre_grade,
    			rang_users.rang_name, rang_users.rang_slug, rang_users.rang_niveau, 
    			unites.unite_unite, unites.unite_id, unites.unite_unite_depend_id, unite_dependance.unite_depend_cie, unites.unite_code
    			
    		FROM membres
    		
    		LEFT JOIN unites ON membres.membre_unite_id=unites.unite_id		
    		LEFT JOIN unite_dependance ON unites.unite_unite_depend_id=unite_dependance.unite_depend_id
    
    		LEFT JOIN rang_users ON membres.membre_role_id=rang_users.rang_id 
    		LEFT JOIN renforts ON renforts.renfort_membre_id=membres.membre_id
    		
    		WHERE membre_pseudo=:login AND membre_mdp=sha1(:pass) AND membre_host=:host');// FAIRE ATTENTION NB CARACTERES DANS BASE (succeptible d'entrainer une erreur).
     
    		$req->execute($d);
    		$data = $req->fetchAll();
    		if(count($data)>0){
    			$_SESSION['Auth']=$data[0];
    			return true;
    		} 
    		else return false;
    	}
     
    	/**
    	* Autorise un rang à accéder à une page, sinon redirige vers interdit.php 
    	**/
    	function allow ($rang){
    	global $PDO;
    		//Je crée une requête 
    		$req = $PDO->prepare('SELECT rang_slug,rang_niveau FROM rang_users');
    		$req->execute();
    		$data = $req->fetchAll();
    		$roles = array();
    		foreach($data as $d){
    			$roles[$d->rang_slug] = $d->rang_niveau;
    		}
    		if(!$this->user('rang_slug')){
    			// Appel de la fonction pageinterdite
    			$this->pageinterdite();
    		}
    		else
    		{
    			if($roles[$rang] > $this->user ('rang_niveau')){
    			// Appel de la fonction pageinterdite
    			$this->pageinterdite();
    			}
    			else { return true; }
    		}
    	}
     
    	/**
    	* Récupére une info utilisateur
    	**/
    	function user($field){
    		if($field == 'rang_role') $field = 'rang_slug'; // création de l'alias role pour slug on peut ainsi utiliser slug ou role dans une requête
    		if(isset($_SESSION['Auth']->$field)){
    			return $_SESSION['Auth']->$field;
    		} 
    		else { return false; }
    	}
     
    	/**
    	* Redirige un utilisateur vers page interdite
    	**/
    	function pageinterdite(){
    		header('Location:'.$this->pageinterdite);
    	}
    }
     
    $Auth = new Auth();
    ?>
    Je récupére des infos sur l'utilisateur qui s'est connecté par ma fonction 'function user($field)' , qui est en relation avec ma fonction 'function login()'.
    Infos qui permettent de savoir dès la connexion une multitudes de choses qui sont passées en session. tous est basé sur un système de hiérarchie 'function allow ($rang)' . En partant du niveau le plus bas au niveau le plus haut:
    - Membre -> les volontaires, qui n'ont accès qu'a un menu ou ils voient les renforts à effectuer et il ne peuvent que se porter candidat pour un ou plusieurs renforts.
    - Brigade -> le niveau le plus bas dans l'active
    - Compagnie
    - Administrateur (niveau groupement) -> Personnel qui peut être soit d'active soit des volontaires. Au total 15 personnes.

    En appelant ma fonction user par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if($Auth->user('membre_id')):?>
    Dès la connexion, je sais si c'est un volontaires (et donc les droits simples qui lui sont accordés qui vont avec) ou un personnel d'active
    Je récupère l'appartenance ou non à une unité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Auth->allow('brigade');
    qui elle-même dépend du niveau supérieur et aussi si c'est l'une des deux seules personnes qui a le droit de créer ou de modifier un renfort dans les niveaux Brigade et compagnie. Administrateur voient et peuvent tout modifier.

    Voilà pourquoi je fais ma requête $select3 , pour selectionner les infos principales qui concernent les généralités du renfort et par mes variables de session passées par le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if($Auth->user('membre_id')):	?>
    si la personne est bien l'une des deux autorisée dans le personnel des brigades et des compagnies et tout le niveau administrateur.
    Ça concerne tout la première partie de mon formulaire. Cela répond-t-il à la majorités de tes questions ?
    pour la dernière
    Est ce les dates début et fin issues de la table renfort sont identiques aux dates essai_renfort.renfort_debut et essai_renfort.renfort_fin ?
    Oui, à force de faire des essais pour la deuxième partie de mon formulaire qui concerne des volontaires qui ont été choisies avec leur accord par tous les niveaux supérieurs (Ce n'est pas eux qui ont choisit dans leur accès simple de se porter volontaire), j'ai fini par créer des doublons de base pour bien préserver ce qui marchait mais ne me donnait pas entièrement satisfaction. Je supprimerai les tables doublons et mettrai tout à jour dès que ça marchera.
    Là je m'aperçois que j'aurai donné l'ensemble de ma page dès le début cela aurait peut-être été plus simple.

    En tout cas rawsrc et Sabotage (et tout les autres au vu du nombre de fois que le post a été vu) de l'intérêt que vous portés a mon problème.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/05/2014, 12h28
  2. [AC-2003] case à cocher qui ne fonctionne pas
    Par olivier777 dans le forum IHM
    Réponses: 13
    Dernier message: 15/09/2009, 19h49
  3. [VBA-E]Select case qui ne fonctionne pas :(
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 31/01/2006, 12h13
  4. [MySQL] Requête update qui ne fonctionne pas
    Par Sylvain245 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/12/2005, 16h40
  5. [MySQL] UPDATE qui ne fonctionne pas
    Par philippef dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/09/2005, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo