Récupération d'un champ pour update

Eléphanteau du PHP | 23 Messages

02 juin 2017, 11:33

bonjour, je suis débutant et j'aimerais récupéré le champ USER_ID (clé primaire de ma bdd) de la ligne que j'ai sélectionné pour modifié le champ (statut) en affecté ou non affectée pour cela j'ai réalisé un dialbox avec oui ou non
j'ai fais un script selectrow pour sélectionné la ligne
comment puis-je faire pour prendre en considération la ligne sélectionne pour modifié le champs voulu?
merci

ynx
Mammouth du PHP | 586 Messages

02 juin 2017, 13:14

Salut,

Une solution possible est d'ajouter le userid dans un attribut html de la ligne ou du bouton de changement de statut lors de la génération de la liste en php puis de récupérer la valeur de cette attribut en js lors du clique sur le bouton.

Bonne journée,

Eléphanteau du PHP | 23 Messages

02 juin 2017, 13:47

pourriez vous me montrez un exemple?
merci

ynx
Mammouth du PHP | 586 Messages

02 juin 2017, 14:28

Un exemple simple :
<?php
$data = array(
    array('user_id' => 'id-toto', 'nom' => 'toto', 'statut' => 1),
    array('user_id' => 'id-tata', 'nom' => 'tata', 'statut' => 2)
);
?>

<div class="users">
<?php foreach ($data as $user) : ?>
    <div class="ligne user">
        Id : <?php echo htmlspecialchars($user['user_id']); ?><br>
        Nom : <?php echo htmlspecialchars($user['nom']); ?><br>
        Nom : <?php echo htmlspecialchars($user['statut']); ?>
        <button class="btn-changer-statut" data-userid="<?php echo htmlspecialchars($user['user_id']); ?>">Changer le statut</button>
    </div>
<?php endforeach; ?>
</div>
<script>    
var boutonsStatut = document.querySelectorAll('.btn-changer-statut');

for (var i = 0; i < boutonsStatut.length; i++) {
    boutonsStatut[i].addEventListener('click', function() {
        var userid = this.getAttribute('data-userid');
        alert('Changement de statut pour l\'utilisateur id = ' + userid);
    });
}
</script>

Eléphanteau du PHP | 23 Messages

15 juin 2017, 11:50

pourrait tu me faire des commentaire s'il te plait?
merci