将数据库表id放在HTML表上的正确方法

时间:2013-09-05 19:53:38

标签: php html

我需要在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开发的新手。请帮我。还有,点击每个表行时如何访问它?

以下是示例输出。enter image description here

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

3 个答案:

答案 0 :(得分: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

   ?>

答案 1 :(得分: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>

答案 2 :(得分:0)

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

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

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

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

希望这有帮助!