2013-09-23 11 views
0

У меня есть эта форма.динамическая форма php ajax

<form id="form1" name="form1" method="post" action=""> 
    <p> 
    <label for="textfield"></label> 
    Id: 
    <input type="text" name="textfield" id="textfield" /> 
    </p> 
    <p> 
    <label for="textfield2"></label> 
    Name: 
     <input type="text" name="textfield2" id="textfield2" /> 
    </p> 
    <p> 
    <label for="textfield3"></label> 
    Apellido: 
    <input type="text" name="textfield3" id="textfield3" /> 
    </p> 
    <p> 
    <input type="submit" name="button" id="button" value="Enviar" /> 
    </p> 
    <p>&nbsp;</p> 
</form> 

, когда я писал де-идентификатор и затем импульсная вкладку ключ во имя входного и Apellido должны получить мои базы данных MySQL эту информацию.

Надеюсь, вы можете меня понять.

+0

у вас не было никакого javascript, или php –

+0

попытаться быть более подробным. Зачем вам нужны ajax и jquery – Ibu

+0

Я думаю, что он хочет сделать запрос, когда он скомпилирует первое текстовое поле. Пример: при компиляции текстового поля id ему нужно записать данные в два других текстовых поля, запросив базу данных. Вот почему ему нужны jQuery и ajax. http://api.jquery.com/jQuery.post/ делает свою работу, сэр. Взгляните на пример и используйте json_encode с PHP для кодирования данных. – briosheje

ответ

-1

Ваш код будет выглядеть примерно так:

<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

     <script type="text/javascript"> 
      $(document).ready(function() { 

       $('#textfield').blur(function() { 
        var myId = $(this).val(); 
        if (myId == '') return false; 

        $.ajax({ 
         type: "POST", 
         url: "myFile.php", 
         data: "theID=" +myId, 
         success: function(fromPHP) { 
          var allRecd = fromPHP.split('|'); 
          var name = allRecd[0]; 
          var apel = allRecd[1]; 

          $('#textfield2').val(name); 
          $('#textfield3').val(apel); 
         } 
        }) 
       }); 


      }); //END $(document).ready() 

     </script> 
    </head> 
<body> 

    <form id="form1" name="form1" method="post" action=""> 
     <p> 
     <label for="textfield"></label> 
     Id: 
     <input type="text" name="textfield" id="textfield" /> 
     </p> 
     <p> 
     <label for="textfield2"></label> 
     Name: 
      <input type="text" name="textfield2" id="textfield2" /> 
     </p> 
     <p> 
     <label for="textfield3"></label> 
     Apellido: 
     <input type="text" name="textfield3" id="textfield3" /> 
     </p> 
     <p> 
     <input type="submit" name="button" id="button" value="Enviar" /> 
     </p> 
     <p>&nbsp;</p> 
    </form> 

</body> 
</html> 

PHP Side: myFile.php

<?php 
    $id = $_POST['theID']; 

    //Do your mysql query here, for example 
    $result = mysql_query("SELECT * FROM users WHERE user_id = '$id' "); 

    $n = $result['name']; 
    $a = $result['apellido']; 

    $response = $n . "|" . $a; 

    echo $response; 

Примечания:

  1. Мы используем метод JQuery blur(), чтобы определить, когда пользователь оставляет текстовое поле
  2. Затем получить содержимое этого поля (вар MyId)
  3. Не делать поиск AJAX, если поле пусто
  4. Отправить ассоциативный var с именем ключа «theID» и содержимым == myId для файла myFile.php, методом POST
  5. На стороне PHP получите ID и назовите его $ id (с этой стороны)
  6. Вы используете mysql поиск и получение значений «имя» и «аполлидо»
  7. Объедините их вместе как простую строку, разделенную «|» обугливается
  8. ECHO их обратно в блоке кода AJAX
  9. ВАЖНО: Все данные, возвращаемые из PHP должны быть обработаны внутри функции success!
  10. Снова введите имя и значение apellido
  11. Внесите правильные поля.
-1

Вы можете использовать jQuery для использования AJAX и отправить данные этой формы в MySQL.

$(document).ready(function(){ 
    $('#button').on('click',function(e){ 
     var data = $('#form1').serialize(); 
     $.ajax({ 
      url:'get_data.php', 
      type: 'post', 
      data: data, 
      success: function(response) {console.log(response);}, 
      error: function() {console.log('Request failed.')} 
     }); 
     return false; 
    }); 
}); 

И на стороне сервера вы можете получить эти данные, как показано ниже, и сохранить в базе данных mysql. Я предположил, что у вас есть имя таблицы «Люди».

<?php 
    $textfield = $_POST['textfield']; 
    $textfield2= $_POST['textfield2']; 
    $textfield3= $_POST['textfield3']; 

    $con=mysqli_connect("localhost","dbusername","dbpass","dbname"); 
    if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    mysqli_query($con,"INSERT INTO Persons (textfield , textfield2, textfield3) 
    VALUES ('$textfield', '$textfield2','$textfield3')"); 
    mysqli_close($con); 
?> 
Смежные вопросы