0

我需要在我的 HTML 表格上获取表格 ID。目前,我在 HTML 表上显示了其他属性,但我没有放置索引或 id。我可以把它放在哪里?我应该把它放在'td'标签上并隐藏它吗?

到目前为止,这是我的代码。

<?php
 mysql_connect("localhost", "xx", "xxx");
 mysql_select_db('db_dev');

 $query3 = "SELECT * FROM project_entry";
 $result3 = mysql_query($query3);

  ?>


<table id="tableID">
                <tr class="data-head">
                    <td>Client Name</td>
                    <td>Phase</td>
                    <td>Payment 1</td>
                    <td>Payment 2</td>
                    <td>Payment 3</td>
                </tr>
            <?php   
                while ($row3 = mysql_fetch_row($result3, MYSQL_BOTH)) {
                  $id = $row3[0]; //id
                  $companyname = $row3[1];
                  $client = $row3[2];
                  $package = $row3[3];
                  $payment1 = $row3[4];
                  $payment2 = $row3[5];
                  $payment3 = $row3[6];

                  echo '<tr>';
                  echo '<td><b>'.$client.'</b></td>';
                  echo '<td>
                        <select class="phase" onchange="trackPhases(this.value)">
                            <option value="Design">Design</option>
                            <option value="Build-Out">Build-Out</option>
                            <option value="Launch">Launch</option>
                        </select>
                        </td>';
                  echo '<td><span class="price"><b>$' .$payment1. '</b></span>
                        <select onchange="updatePayment1_Status(this.value)">
                            <option value="Owed">Owed</option>
                            <option value="Billed">Billed</option>
                            <option value="Payed">Payed</option>
                        </select></td>';
                  echo '<td><span class="price" ><b>$' .$payment2. '</b></span>
                        <select onchange="updatePayment2_Status(this.value)">
                            <option value="Owed">Owed</option>
                            <option value="Billed">Billed</option>
                            <option value="Payed">Payed</option>
                        </select></td>';
                  echo '<td><span class="price"><b>$' .$payment3. '</b></span>
                        <select onchange="updatePayment3_Status(this.value)">
                            <option value="Owed">Owed</option>
                            <option value="Billed">Billed</option>
                            <option value="Payed">Payed</option>
                        </select></td>';
                  echo '</tr>';
                }
            ?>  
            </table>

$id = $row3[0]; 是表的id。我可以把它放在哪里?我是php开发的新手。请帮我。还有,单击每个表格行时如何访问它?

这是示例输出。在此处输入图像描述

我需要这样做,因为我正在使用 AJAX 进行数据更新。

4

3 回答 3

0

您需要将此 id 放在tr中,因为它是行。

<table id="tableID">
    <tr class="data-head">
        <td>Client Name</td>
        <td>Phase</td>
        <td>Payment 1</td>
        <td>Payment 2</td>
        <td>Payment 3</td>
    </tr>
<?php 

    while ($row3 = mysql_fetch_row($result3, MYSQL_BOTH)) {
        $id = $row3[0]; //id
        $companyname = $row3[1];
        $client = $row3[2];
        $package = $row3[3];
        $payment1 = $row3[4];
        $payment2 = $row3[5];
        $payment3 = $row3[6];

        echo '<tr id='.$id.'>';

        ----------

        -----------

        echo '</tr>';
    }
?> 

然后点击这一行,你会得到这样的 id

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" 
type="text/javascript"></script>

<script>
$(function() {
    $("#tableID tr").click(function(){
        var row_id = $(this).attr("id");
        alert(row_id);  
    });
});
</script>

于 2013-09-05T20:13:20.757 回答
0

您可以使用Hidden field或使用 get 方法执行此操作,但我看不到您的表单或按钮,此代码将添加一个包含 id 值的隐藏字段:

   <?php   

         echo '<tr>';
         echo '<td><b>'.$id.'</b></td>';// HERE
         echo '<td><b>'.$client.'</b>';
         echo "<input type='hidden' name='id' value='$id'/></td>";//this line

   ?>
于 2013-09-05T19:57:27.247 回答
0

这取决于很多事情。您想隐藏 ID 不可见吗?如果是这样,那么就不要将其显示为您当前的代码。

如果您只需要更新行的 ID,那么可以通过各种方式完成。

1) 使用您的方法传递 ID onchange,假设这是您需要更新的值之一。所以你的 javascript 方法变成了类似onchange=trackPhases(this.value, '. $id. '). 这样,您还将拥有正在修改的行的 ID。

2)如果您需要在单击行时知道表ID,那么您将需要做类似的技术。您必须在or元素上添加onclick事件,并在方法参数中传递 ID:TRTD<TR onclick="rowclicked('.$id.')">

希望这可以帮助!

于 2013-09-05T20:16:13.507 回答