Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用PHP while语句迭代将触发模式弹出窗口的按钮_Javascript_Php_Html_Css - Fatal编程技术网

Javascript 如何使用PHP while语句迭代将触发模式弹出窗口的按钮

Javascript 如何使用PHP while语句迭代将触发模式弹出窗口的按钮,javascript,php,html,css,Javascript,Php,Html,Css,我有一个使用PHP从mysql数据库获取用户数据的系统。“while”语句显示来自数据库表的结果。我希望能够为数据库中的每个用户添加一项技能。我有一个按钮,当点击时,会触发一个带有用户名和id的模式弹出窗口。我无法获得迭代按钮来触发模式弹出窗口。只有第一排的按钮有效。(请原谅我的英语)。如何让所有按钮触发显示相应用户名和id的模式弹出表单 Html和PHP <table id="proj" border="0" width = "85%"> <tr > &

我有一个使用PHP从mysql数据库获取用户数据的系统。“while”语句显示来自数据库表的结果。我希望能够为数据库中的每个用户添加一项技能。我有一个按钮,当点击时,会触发一个带有用户名和id的模式弹出窗口。我无法获得迭代按钮来触发模式弹出窗口。只有第一排的按钮有效。(请原谅我的英语)。如何让所有按钮触发显示相应用户名和id的模式弹出表单

Html和PHP

  <table id="proj" border="0" width = "85%">
  <tr >
    <td width = "30%" align = "center">User ID</td>
    <td  width = "30%" align = "center">Name</td>
    <td align = "center">Actions</td>
  </tr>
</table>
<!--rows containing stuff from database-->
<?php

include 'dbcon.php';
$sql = "SELECT * FROM users";
$result = $con->query($sql);
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
?>
    <div class="prows">
      <div class="prow" align = "center">
        <div class="id1">
          <?php echo $row["id"]; ?>
        </div>
        <div class="status1">
          <?php  echo $row["name"]; ?>
        </div>
      <div class="pm1">
        <button id="bnUpdt">Add Skill</button>
      </div>
    </div>
  </div>

  <!-- The Modal -->
  <div id="myModal" class="modal">

  <!-- Modal content -->
  <div class="modal-content">
    <div class="modal-header">
      <span class="close">&times;</span>
      <h2 style="display:inline-block; margin-right:100px;">Name: <?php  echo $row["name"]; ?></h2>
      <p style="display:inline-block;margin-right:100px;">User ID: <?php echo $row["id"]; ?></p>
    </div>
    <form action="update.php" method="post" class="modal-body" align="center">
      <div class="task" >
        <input type="text" name="task" >
        <button type="submit" name="button"> Add</button>
      </div>
    </form>
  </div>
</div>
   <?php
  }
}
?>

用户ID
名称
行动
增加技能
&时代;
姓名:
用户ID:

添加
Javascript

<script>
    // Get the modal
    var modal = document.getElementById("myModal");

    // Get the button that opens the modal
    var btn = document.getElementById("bnUpdt");

    // Get the <span> element that closes the modal
    var span = document.getElementsByClassName("close")[0];

    // When the user clicks the button, open the modal
    btn.onclick = function() {
        modal.style.display = "block";
    }

    // When the user clicks on <span> (x), close the modal
    span.onclick = function() {
        modal.style.display = "none";
    }

    // When the user clicks anywhere outside of the modal, close it
    window.onclick = function(event) {
        if (event.target == modal) {
            modal.style.display = "none";
        }
    }
</script>

//获取模态
var modal=document.getElementById(“myModal”);
//获取打开模式对话框的按钮
var btn=document.getElementById(“bnUpdt”);
//获取关闭模态的元素
var span=document.getElementsByClassName(“关闭”)[0];
//当用户单击该按钮时,打开模式对话框
btn.onclick=函数(){
modal.style.display=“块”;
}
//当用户单击(x)时,关闭模式对话框
span.onclick=函数(){
modal.style.display=“无”;
}
//当用户单击模式之外的任何位置时,将其关闭
window.onclick=函数(事件){
如果(event.target==模态){
modal.style.display=“无”;
}
}
CSS


.pm1、.id1、.status1{
显示:内联块;
宽度:33%;
}
#选择{
显示:内联块;
宽度:10%;
}
.船头{
宽度:80%;
}
船头先生{
背景色:#d9d9d9;
填充:10px;
边框顶部:1px实心#ededed;
颜色:#4242;
}
.船头:悬停{
背景色:#e3c7a8;
}
/*模态(背景)*/
.莫代尔{
显示:无;/*默认情况下隐藏*/
位置:固定;/*保持原位*/
z指数:1;/*位于顶部*/
填充顶部:100px;/*框的位置*/
左:0;
排名:0;
宽度:100%;/*全宽*/
高度:100%;/*全高*/
溢出:自动;/*根据需要启用滚动*/
背景色:rgb(0,0,0);/*回退色*/
背景色:rgba(0,0,0,0.4);/*黑色w/不透明度*/
}
/*模态内容*/
.模态内容{
位置:相对位置;
背景色:#fefe;
保证金:自动;
填充:0;
边框:1px实心#888;
宽度:50%;
盒影:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
-webkit动画名称:animatetop;
-webkit动画持续时间:0.4s;
动画名称:animatetop;
动画持续时间:0.4s
}
/*添加动画*/
@-webkit关键帧动画顶点{
从{top:-300px;不透明度:0}
到{顶部:0;不透明度:1}
}
@关键帧动画顶点{
从{top:-300px;不透明度:0}
到{顶部:0;不透明度:1}
}
/*关闭按钮*/
.结束{
颜色:白色;
浮动:对;
字号:28px;
字体大小:粗体;
}
.关闭:悬停,
.结束:聚焦{
颜色:#000;
文字装饰:无;
光标:指针;
}
.模态标题{
填充:2x16px;
背景色:#42350f;
颜色:白色;
}
.modal body{padding:20px;}

我想让每行中的每个按钮触发一个模式弹出窗口

,正如ryantxr所解释的,不能有多个同名ID。添加一个类名,然后遍历它们。也许是这样的?假设您已将class=“bUpdate”添加到必要的元素中

var elem = document.getElementsByClassName('bnUpdt');
for(var i=0; i<elem.length; i++) {
  elem[i].addEventListener("click", function() {
        // add skill code...
  });
}
var elem=document.getElementsByClassName('bnUpdt');

对于(var i=0;我认为不能有多个具有相同id的html项。
var elem = document.getElementsByClassName('bnUpdt');
for(var i=0; i<elem.length; i++) {
  elem[i].addEventListener("click", function() {
        // add skill code...
  });
}