Copier un lien avec variable dans une boucle while

Bonjour, tentant de créer un bouton permettant de copier l'url d'une page d'un des produits d'une boucle while les affichant tous, je fais face a un problème de code.

CODE php simplifié: (page product)
<?php while($a = $products->fetch()) { ?>

<!-- Bouton pour copier lien -->
<button onclick="myFunction()" data-idproduct="<?=$a['id']?>"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span></button>

<?php } ?>

js:

function myFunction() {

var idproduct = $(this).data('idproduct');
var copyText = 'https://*****/product-detail.php?id='+idproduct;

copyText.select();

document.execCommand("copy");
}

Le code ne fonctionnant pas j'en viens a demander votre aide.. En effet, je ne copie rien, merci pas avance pour votre aide.
Par Synetic LoOny le 29 Oct 2018
Cette pub permet au site de vivre ...

2 Commentaires

Synetic LoOny
Le 30 Oct 2018
OH Merci Clouder !

Le code fonctionne parfaitement, je m'empresse de mettre le sujet en résolu !
Clouder
Le 30 Oct 2018
Bonjour Synetic LoOny,

J'ai un peu changé la façon de ton code :

HTML :
<button onclick="myFunction(1)" data-idproduct="1" id="js1">
<span class="glyphicon glyphicon-share-alt" aria-hidden="true">1</span>
</button>
<button onclick="myFunction(2)" data-idproduct="2" id="js2">
<span class="glyphicon glyphicon-share-alt" aria-hidden="true">2</span>
</button>
<button onclick="myFunction(3)" data-idproduct="3" id="js3">
<span class="glyphicon glyphicon-share-alt" aria-hidden="true">3</span>
</button>
<button onclick="myFunction(4)" data-idproduct="4" id="js4">
<span class="glyphicon glyphicon-share-alt" aria-hidden="true">4</span>
</button>
JavaScript :
<script type="text/javascript">
function myFunction(e) {
var monelement, idproduct, link, copyText;

monelement = document.getElementById('js' + e);
idproduct = monelement.getAttribute('data-idproduct');

link = 'https://*****/product-detail.php?id=' + idproduct;

copyText = document.createElement('input');
document.body.appendChild(copyText);
copyText.value = link;
copyText.select();

try {
document.execCommand('copy');
copyText.remove();
alert('Le texte a été copié');
}catch (err) {
alert('Le texte n\'a pas été copié');
}
}
</script>

Si je réduis le HTML en PHP, cela donnera :

<?php 
while($a = $products->fetch()) {
?>

<button onclick="myFunction(<?=$a['id']?>)" data-idproduct="<?=$a['id']?>" id="js<?=$a['id']?>">
<span class="glyphicon glyphicon-share-alt" aria-hidden="true"><?=$a['id']?></span>
</button>

<?php
}
?>