在PHP中如何为while循环中创建的每个输入文本框生成动态ID

时间:2014-03-08 04:48:47

标签: javascript php jquery ajax

如何获取在while循环中生成的选定文本框ID以更新字段,如phpmyadmin

 <?php
    while($fet=mysql_fetch_assoc($sql1))
    {
        ?>
        <tr>
        <td><input type=text id='hello' name='hello' data-id="<?php echo  $fet['username']?>"     onchange='loadXMLDoc(this);' value=<?php echo $fet['username']?>>
       <td><input type=text id='uid' name='uid' onchange='loadXMLDoc(this).' value=<?php echo  $fet['id']?>>
       </tr>
       <?php 
        }
  ?>

3 个答案:

答案 0 :(得分:2)

只需追加i并递增它直到你的while循环继续......

<?php
    $i=1;
    while($fet=mysql_fetch_assoc($sql1))
    {
       echo '
        <tr>
        <td>
          <input type="text" id="hello'.$i.'" name="hello'.$i.'" data-id="'.$fet['username'].'" onchange="loadXMLDoc(this.value,'.$i.')" value='.$fet['username'].' >
</td>           
       </tr>';
       here write ur code for other fields

         $i++;
    }
 ?>

<script> 
function loadXMLDoc(a,i) 
{ var d= document.getElementById("hello"+i).value; } 
</script>

答案 1 :(得分:1)

不要使用foreach。

foreach($sql1 as $value){

// don't generate html here

}

因为它可能会制作html

使用foreach方式。

<?php

foreach($sql1 as $value):

?>

<tr>
 <td><input type=text id='hello' name='hello' data-id="<?php echo  $value['username']?>"    onchange='loadXMLDoc(this);' value=<?php echo $value['username']?>>
   <td><input type=text id='uid' name='uid' onchange='loadXMLDoc(this).' value=<?php echo  $value['id']?>>
</tr>

<?php endforeach() ?>

答案 2 :(得分:0)

使用uniqid()功能 $str=uniqid("uid")它会产生一些像ti uid1hq7266的东西 并在输入中打印