Php 迭代td从数据库中获取值
我在数据库中进行了几次迭代,如:Php 迭代td从数据库中获取值,php,mysql,datepicker,while-loop,Php,Mysql,Datepicker,While Loop,我在数据库中进行了几次迭代,如: <?php $test = mysql_query("SELECT * FROM test WHERE id='1'"); while($row = mysql_fetch_array($test)) { echo "<tr>"; echo "<td>" . $row['value'] . "</td>"; echo "<td><input
<?php
$test = mysql_query("SELECT * FROM test WHERE id='1'");
while($row = mysql_fetch_array($test))
{
echo "<tr>";
echo "<td>" . $row['value'] . "</td>";
echo "<td><input type='text' id='datepicker' /></td>";
echo "<td><button id='save'>Save</button></td>";
echo "</tr>";
}
?>
<?php
$test = mysql_query("SELECT * FROM test WHERE id='2'");
while($row = mysql_fetch_array($test))
{
echo "<tr>";
echo "<td>" . $row['value'] . "</td>";
echo "<td><input type='text' id='datepicker' /></td>";
echo "<td><button id='save'>Save</button></td>";
echo "</tr>";
}
?>
问题在于jQuery日期选择器。它只适用于第一个输入,比如当测试表返回例如3个条目时,例如mysql、datepicker、save;oracle,日期选择器,保存;db2、datepicker、save、datepicker仅在我单击第一个输入时起作用,就像oracle、datepicker、save一样,但不适用于其余输入。您知道如何根据一个while范围内的表元素为每个列出的输入填充它吗?使用单个SQL语句和单个循环,而不是将查询分解到分子级别:
<?php
$test = mysql_query("SELECT * FROM test WHERE id IN (1,2)");
while($row = mysql_fetch_array($test))
{
echo "<tr>";
echo "<td>" . $row['value'] . "</td>";
echo "<td><input type='text' class='datepicker' /></td>";
echo "<td><button id='save'>Save</button></td>";
echo "</tr>";
}
?>
注意:请勿使用mysql_**函数。如果不推荐使用,请在HTML文档id中使用例如mysqli_**。由于在循环中呈现HTML,几个HTML元素可以具有保存id。因此,jQuery选择器可能会获得第一个匹配元素,因为jQuery只假设文档有一个id。您可以使用类而不是id。除此之外,不要将它与PHP和HTML混淆。最佳做法是尽可能将它们分开
你介意给我一些密码吗?我想确定我会做对的是的。。。这将是最有效的,并将使我的代码muuuch更小,您能用上面示例中的完整代码显示它吗?非常感谢。但是datepicker仍然只适用于第一次输入:这可能是因为您使用的是ID而不是类,从而创建了具有相同ID的多个元素。请尝试将ID=datepicker替换为class=datepicker。显然,您还需要更改JQuery选择器哦,好了,现在可以了!:非常感谢。我使用了vlcekmi3备注,改为.datepicker而不是datepicker,并将您的答案与类一起使用,而不是id:非常感谢!
$test = mysql_query("SELECT * FROM test WHERE id IN (1,2)");
while( $row = mysql_fetch_array($test) ) {
echo "<tr>
<td>" . $row['value'] . "</td>
<td><input type='text' class='datepicker' /></td>
<td><button id='save'>Save</button></td>
</tr>";
}
// datepicker issue - change unique identifier
<script>
$(function() { $( ".datepicker" ).datepicker(); });
</script>
<?php $test = mysql_query("SELECT * FROM test WHERE id IN (1,2)"); ?>
<?php while($row = mysql_fetch_array($test)) : ?>
<tr>
<td><?php echo $row['value']; ?></td>
<td><input type='text' class='datepicker' /></td>
<td><button id='save'>Save</button></td>
</tr>
<?php endwhile; ?>