迭代td用于从数据库中获取值

时间:2012-12-05 11:12:24

标签: 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 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 datepicker。它仅适用于第一个输入,例如当测试表返回例如3个条目(例如,mysql,datepicker,save; oracle,datepicker,save; db2,datepicker,save)时,datepicker仅适用于第一个输入当我点击它时输入(比如oracle,datepicker,save),但不是其余的。任何想法如何根据一个范围内的表元素为每个列出的输入填充它?

3 个答案:

答案 0 :(得分:0)

而不是将您的查询分解为分子级别,使用单个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>";
  }
?>

答案 1 :(得分:0)

$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>

注意:不要使用mysql_**个功能(不推荐使用),请使用例如mysqli_**

答案 2 :(得分:0)

在HTML文档中,id应该是唯一的。由于您在循环中呈现HTML,因此几个HTML元素可以具有保存ID。因此,jQuery选择器可能会获得第一个匹配元素,因为jQuery只假定文档的一个id。您可以使用class而不是id。除此之外,不要混淆PHP和HTML。最佳做法是尽可能保持分离

<?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; ?>