表的Javascript迭代

表的Javascript迭代,javascript,php,Javascript,Php,请帮忙 我试图从表中获取行值的单个值。我使用Javascript在单击表中值旁边的按钮调用函数时显示值 这就是桌子的外观: Name_1 737 <button>Run JS</button> Name_2 729 <button>Run JS</button> Name_3 730 <button>Run JS</button> Name_1737运行JS Name_2 729 Run JS Name_3 730运行JS

请帮忙

我试图从表中获取行值的单个值。我使用Javascript在单击表中值旁边的按钮调用函数时显示值

这就是桌子的外观:

Name_1 737 <button>Run JS</button>
Name_2 729 <button>Run JS</button>
Name_3 730 <button>Run JS</button>
Name_1737运行JS
Name_2 729 Run JS
Name_3 730运行JS
这是文件:

<table>
<?
$sql = mysql_query("SELECT * FROM clients WHERE id = '1'");

while($row = mysql_fetch_array($sql)){
$name = $row['client_name'];
$c_id = $row['client_id'];

$id_array[] = $c_id; 

echo '<table id="myTable">
        <tr>
            <td>'.$name.'</td>
            <td class="client_id">'.$c_id.'</td>
        <td><button onclick="js_function()">Run JS</button></td>
    </tr>
    </table>';
}
?>
</table>

<script>
var c_id = document.getElementsByClassName("client_id");

function js_function() {
for(var i = 0; i < c_id.length; ++i){   
    var client_id = c_id[i].innerHTML;
    }
document.write(client_id);
}
</script>


如果您只需要单击按钮时的客户端id,为什么不在渲染时将客户端id传递给js函数本身呢

<td><button onclick="js_function("'.$c_id.'")">Run JS</button></td>

将参数添加到
js_function()
以标识行:

$i = 0;
while($row = mysql_fetch_array($sql)){

    $name = $row['client_name'];
    $c_id = $row['client_id'];

    $id_array[] = $c_id; 


    echo '
      <table id="myTable">
      <tr>

      <td>'.$name.'</td>

      <td class="client_id" id="client_id_'.$i'">'.$c_id.'</td>

      <td><button onclick="js_function('.$i.')">Run JS</button></td>

      </tr>

      </table>';

}

从代码中可以看出,您在js_函数中使用类“client_id”迭代每个元素,因此如果您在每次迭代中将client_id分配给元素的innerHtml,那么client_id的值当然将始终相同:即c_id中最后一个元素的innerHtml。Shankar似乎也解决了你们的问题,所以我只是想确保你们明白自己做错了什么。谢谢!我已经做了好几个星期了!我只是觉得自己很愚蠢,所以就这么简单……我很感激:D
$i = 0;
while($row = mysql_fetch_array($sql)){

    $name = $row['client_name'];
    $c_id = $row['client_id'];

    $id_array[] = $c_id; 


    echo '
      <table id="myTable">
      <tr>

      <td>'.$name.'</td>

      <td class="client_id" id="client_id_'.$i'">'.$c_id.'</td>

      <td><button onclick="js_function('.$i.')">Run JS</button></td>

      </tr>

      </table>';

}
function js_function(i) {
    var c_id = document.getElementById('client_id_' + i);
    var client_id = c_id.innerHTML;
    document.write(client_id);
}