单击按钮时将数据库值加载到文本框

时间:2015-11-02 07:52:58

标签: php mysql ajax


我正在开发一个PHP Web应用程序,我有一个mySQL数据库。输入'name'并单击名为'select'的按钮后,我想找到'id'的最小值,并将该最小值放到名为“min”的文本框中。

到目前为止,这是我的代码。它完美无缺。

<html>
  <head>
  </head>
  <body>

  <?php

    include('config.php');
    $id='';
    $query1='';
    $name='';
    if(isset($_POST['select']))
    {
      $name=$_POST['name'];
      $query1=mysql_query("select MIN(id) as id1 from places where name='$name'");
      while($query2=mysql_fetch_array($query1))
      {
        $id=$query2['id1'];
      }
    }
    echo'<form method="post" >';
    echo 'name<input type="text" name="name" value="' .  $name . '">';
    echo '<input type="submit" name="select" value="select"><br>';
    echo '<input type="text" name="min" value="' .  $id . '">';
    echo'</form>';
  ?>
  </body>
</html>

但是一旦点击按钮,它就会刷新页面。我想这样做而不刷新页面。我听说AJAX可以在不刷新页面的情况下做同样的事情。我试过了,但没办法。有谁可以帮我解决这个问题?

1 个答案:

答案 0 :(得分:1)

试试这个

index.html代码

<script src="jquery-1.11.0.min.js" language="javascript"></script>
<form method="POST">
<input type="text" id="name" name="name">
<input type="text" name="min" id="min" value="">
<input type="submit" id="submit" value="select">
<script>
    $('#submit').click(function (e){
        e.preventDefault();
        var $name=$('#name').val();
        $.ajax({
          type: "POST",
          dataType: "json",
          data: {"name": $name},
          url: 'select.php',
          success: function(data) {
            $('#min').val(data.r_id);
          }
        });
    });
</script>

和select.php在同一目录

<?php

include('config.php');
if($_POST)
{
  $name=$_POST['name'];
  $query1=mysql_query("select MIN(id) as id1 from places where name='$name'");
  while($query2=mysql_fetch_array($query1))
  {
    $id=$query2['id1'];
  }
  $response=array(
            'r_id'=>$id,
            );  
}
print json_encode($response);

?>