从mysql查询结果填写表单的字段

时间:2013-09-13 04:20:54

标签: php html mysql ajax

在我的项目中,它有一个接口(names.php),它有一个表单。当用户输入“指定代码”(这是一个主键)并单击“更新”按钮时, 其余字段应相应填写。我知道这需要Ajax。 但问题是,我已经完成了使用以下查询从数据库中检索结果只作为一行。但是,这不是我的目标。

while($row = mysqli_fetch_assoc($run1)) {
   echo "<tr id='tr'>";
   foreach($row AS $cell) echo "<td>$cell</td>";
   echo "</tr>\n";
}

以下是'designation.php'..

<form action="crud.php" method="post">
<table>
  <th >DESIGNATION</th>
  <tr>
  <td >Designation Code</td>
  <td ><input type="text" name="des_code" /></td>
</tr>
<tr>
  <td >Designation</td>
  <td><input type="text" name="desig" /></td>
</tr>
<tr>
  <td >Salary Code</td>
  <td><input type="text" name="s_code" /></td>
</tr>
<tr>
  <td >Salary Scale</td>
  <td><input type="text" name="s_scale" /></td>
</tr>
<tr>
  <td >Salary point </td>
  <td><input type="text" name="s_point" /></td>
</tr>
<tr>
  <td>Date</td>
  <td > <input type="date" name="date" /></td>
</tr>
<tr>
  <td><input type="submit" name="update" value="Update" /></td>
</tr>
</table>

我尝试了很多解决方案,但没有得到预期的结果。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

  $(document).ready(function(){
       ("#form1").submit(function({
         var id=<?php echo $_POST['des_code']; ?>;

         $.ajax({
             url: 'update.php',
             type:'POST',
             data: {id:id},
             success : function (data)
             { 
                 var a=data.split('[BRK]');
                 $("#s_scale").val(a[0]);
                 // like wise store all your fields..
             }
         })
       })

upadte.php将包含

    $id=$_POST['id']; //designation id from jqyery
    $q=mysqli_query("your goes here..");
    while($row = mysqli_fetch_array($q)) 
    {
           $cell=$row[0];
           $cell.="[BRK]".$row[1];
           $cell.="[BRK]".$row[2];
     }
     echo $cell;

id 添加到您的文本字段,以便从jquery直接添加值..并提供表单ID ,这样您就可以触发onsubmit事件......

我没有尝试这段代码,但希望它能正常工作......

答案 1 :(得分:1)

要传输多个值,请使用json!

Jquery Code ::

$(function(){
  id="XXXX";
  $("form").on("submit",function(e){
     e.preventDefault();

     $.getJson("update.php",{"id":id},function(response){
        $("#value1").val(response.value1);
        $("#value2").val(response.value2);
        // like wise store all your fields..
     })
  })
})

Update.php ::

$q=mysqli_query("your query");
$row = mysqli_fetch_array($q);
echo json_encode($row);  

$ row将是一个包含value1,value2等的数组!!