我需要在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进行数据更新。
答案 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,那么你需要做类似的技巧。您必须在onclick
或TR
元素上添加TD
事件,并在方法参数中传递ID:<TR onclick="rowclicked('.$id.')">
希望这有帮助!