while($row=mysqli_fetch_array($result))&x2B;JAVASCRIPT错误
我对一些代码有问题。该程序允许我在BDDMysql上一次点击一个密码进行复制。我有一个脚本,允许我用一个特定的ID复制html标记while($row=mysqli_fetch_array($result))&x2B;JAVASCRIPT错误,javascript,php,mysql,Javascript,Php,Mysql,我对一些代码有问题。该程序允许我在BDDMysql上一次点击一个密码进行复制。我有一个脚本,允许我用一个特定的ID复制html标记的内容。所有这些我都是在while(mysqli\u fetch\u array($result))中得到的。所以问题是,当我点击复制一个密码时,只有我得到了剪贴板上复制的第一个bdd <?php $egest='SELECT * FROM gestion'; $result=mysqli_query($con,$egest); while ($row = m
的内容。所有这些我都是在while(mysqli\u fetch\u array($result))
中得到的。所以问题是,当我点击复制一个密码时,只有我得到了剪贴板上复制的第一个bdd
<?php
$egest='SELECT * FROM gestion';
$result=mysqli_query($con,$egest);
while ($row = mysqli_fetch_array($result)){
//echo $row['subcat_nombre'];
?>
<script>
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
</script>
<table class="estilo-ps">
<tr>
<td colspan="3" class="td-tit"><b><?php echo $row['gest_nombre'] ?></b></td>
</tr>
<tr class="tr-borders">
<th class="th-border-cent">Contrasenya</th>
</tr>
<tr class="tr-borders">
<td class="td-border-cent">
<center>
<p hidden="hidden" id="p1"><?php echo $row['gest_contra']; ?></p><br>
<p>clic per copiar la contrasenya</p>
<img src="img/key.png" class="copy" onclick="copyToClipboard('#p1')"/>
</center>
</td>
</tr>
<?php
}
?>
功能copyToClipboard(元素){
变量$temp=$(“”);
$(“正文”)。追加($temp);
$temp.val($(element.text()).select();
文件。执行命令(“副本”);
$temp.remove();
}
康特塞尼亚
合同副本
您不能有重复的ID。使用类而不是ID。然后使用适当的DOM选择函数在单击的元素旁边查找具有该类的元素
另外,将函数从循环中去掉,它不需要为每一行重新定义
<script>
function copyToClipboard(img) {
var $element = $(img).siblings(".p1");
var $temp = $("<input>");
$("body").append($temp);
$temp.val($element.text()).select();
document.execCommand("copy");
$temp.remove();
}
</script>
<?php
$egest='SELECT * FROM gestion';
$result=mysqli_query($con,$egest);
while ($row = mysqli_fetch_array($result)){
//echo $row['subcat_nombre'];
?>
<table class="estilo-ps">
<tr>
<td colspan="3" class="td-tit"><b><?php echo $row['gest_nombre'] ?></b></td>
</tr>
<tr class="tr-borders">
<th class="th-border-cent">Contrasenya</th>
</tr>
<tr class="tr-borders">
<td class="td-border-cent">
<center>
<p hidden="hidden" class="p1"><?php echo $row['gest_contra']; ?></p><br>
<p>clic per copiar la contrasenya</p>
<img src="img/key.png" class="copy" onclick="copyToClipboard(this)"/>
</center>
</td>
</tr>
</table>
<?php
}
?>
功能copyToClipboard(img){
变量$element=$(img).同级(“.p1”);
变量$temp=$(“”);
$(“正文”)。追加($temp);
$temp.val($element.text()).select();
文件。执行命令(“副本”);
$temp.remove();
}
康特塞尼亚
合同副本
功能copyToClipboard(元素){
变量$temp=$(“”);
$(“正文”)。追加($temp);
$temp.val($(element.text()).select();
文件。执行命令(“副本”);
$temp.remove();
}
while($row=mysqli\u fetch\u数组($result)){
//echo$row['subcat_nombre'];
?>
康特塞尼亚
合同副本
您正在尝试循环脚本。脚本只应声明一次。将while循环移动到
之后在循环中定义函数没有意义。函数只能有一个定义,每次只需替换它。id必须唯一,不能有多个id=“p1”
$(元素)
将始终返回第一行,而不是用户单击的同一行。您有一个
标记,但没有
。是否确实要为查询返回的每一行创建单独的表?好的,下次做笔记。谢谢!
<?php
$egest='SELECT * FROM gestion';
$result=mysqli_query($con,$egest);
?>
<script>
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
</script>
<table class="estilo-ps">
while ($row = mysqli_fetch_array($result)){
//echo $row['subcat_nombre'];
?>
<tr>
<td colspan="3" class="td-tit"><b><?php echo $row['gest_nombre'] ?></b></td>
</tr>
<tr class="tr-borders">
<th class="th-border-cent">Contrasenya</th>
</tr>
<tr class="tr-borders">
<td class="td-border-cent">
<center>
<p hidden="hidden" id="p1"><?php echo $row['gest_contra']; ?></p><br>
<p>clic per copiar la contrasenya</p>
<img src="img/key.png" class="copy" onclick="copyToClipboard('#p1')"/>
</center>
</td>
</tr>
<?php
}
?>
</table>