Php 将数据库表id放在HTML表上的正确方法
我需要在我的HTML表上获取表id。目前,我在HTML表上显示了其他属性,但我没有把索引或id放在哪里?我应该把它贴在“td”标签上并隐藏起来吗 这是到目前为止我的代码Php 将数据库表id放在HTML表上的正确方法,php,html,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); ?>
<?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>
客户名称
阶段
付款1
付款2
付款3
$id=$row3[0];是表的id。我可以把它放在哪里?我是php开发新手。请帮帮我。还有,当单击每个表行时,我如何访问它
下面是示例输出
我需要这样做,因为我正在使用AJAX进行数据更新。您可以使用
隐藏字段
或使用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
?>
您需要将此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>';
}
?>
客户名称
阶段
付款1
付款2
付款3
点击这一行,你会得到这样的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>
$(函数(){
$(“#tableID tr”)。单击(函数(){
var row_id=$(this.attr(“id”);
警报(行标识);
});
});
这取决于很多事情。是否要隐藏ID使其不可见?如果是这样,那么就不要将其显示为当前代码
如果您只需要ID来更新行,那么可以通过各种方式来完成
1) 使用onchange
方法传递ID,假设这是需要更新的值之一。因此,您的javascript方法类似于onchange=trackPhases(this.value,'.$id.)
。这样,您还将拥有正在修改的行的id
2) 如果在单击行时需要知道表ID,则需要使用类似的技术。您必须在TR
或TD
元素上添加onclick
事件,并在方法参数中传递ID:
希望这有帮助 如果我将这样做:echo'.$id'';我仍然可以访问id?是的,您可以使用javascript,但我认为最好的解决方案是隐藏字段