表,并选择要传递到新页面的rRow(id)(这样它就不会覆盖行选择的变量)

Tables and selecting the rRow (id) to pass to a new page (so it doesn't overwrite the variable of the row selection)

本文关键字:选择 变量 行选 覆盖 新页面 id rRow      更新时间:2024-01-02

我有一个表,每一行都可以点击将其发送到一个新页面,(DoNav)函数。我需要的是将一个变量转移到新页面(该行的id)。我本来打算使用会话变量。

问题是,最后一行变量被转移,即,如果我有30行,并且我点击第一行,则第30行的id被转移。变量将被覆盖。每一行都有一个DoNav(对新页面的引用)。

我需要代码来发送一个PHP变量(id)和单击的行。看看这个表(片段)示例(假设这些行中的每一行都在标题下)。

    <td>1</td> // row 1
    <td>A2</td>
    <td>A3</td>
    <tr onmouseover="this.style.cursor='pointer';" onclick="DoNav('http://newpage.php')"; <?php $_SESSION['SELECTION']=1;?>>
    <td>2</td> // row 2
    <td>B2</td>
    <td>B3</td>
    <tr onmouseover="this.style.cursor='pointer';" onclick="DoNav('http://newpage.php')"; <?php $_SESSION['SELECTION']=2;?>>
    <td>3</td> // row 3
    <td>C2</td>
    <td>C3</td>
    <tr onmouseover="this.style.cursor='pointer';" onclick="DoNav('http://newpage.php')"; <?php $_SESSION['SELECTION']=3;?>>

现在,当我点击时,第一行$_SESSION['SELECTION']返回3(最后一行)。显然,它覆盖了变量。我需要的是,对于单击的行,只读取该行并将其传递到新页面。

有没有一个简单的代码可以放入

    <tr 

行,每次只选择该行并传递变量而不是最后一个变量?

是否有原因不能给每个tr一个id,然后将id传递给函数,并将其附加到查询中?我不确定你目前在DoNav()中做什么。

onclick="DoNav('http://newpage.php',this.id);"
function DoNav(url,id){
    window.location.href = url + "?id=" + id;
}
//handle querystring in php destination page
设置变量$_SESSION['SELECTION']=X不会影响HTML。您必须在该URL中输出一些内容,例如
 <tr onclick="DoNav('http://newpage.php?id=1')">...</tr>
 <tr onclick="DoNav('http://newpage.php?id=2')">...</tr>