2016-04-17 6 views
0

Live site nowPHP + AJAX + MYSQL Letzte Eintrag erstellt eine neue Spalte in MySql

Ich möchte ein Formular erstellen, in dem der Benutzer eine neue Frage hinzufügen wird, dass der nächste Benutzer beantworten müssen.

Ich möchte die Funktion ALTER TABLE verwenden, aber ich bin mir nicht sicher, wie man das in $ _Post und wie man dynamisch $ _Get mehr und mehr Spalten ruft. Irgendein Rat? Ich steckte und würde gerne jemanden in die richtige Richtung zeigen.

Auch ich benutze Bootstrap, wenn das überhaupt einen Unterschied macht.

<body> 
     <div class="container"> 
      <br /> 
      <br /> 
      <h2 align="center">Dynamically Add or Remove input fields in PHP with JQuery</h2> 
      <div class="form-group"> 
       <form name="add_name" id="add_name"> 
         <div class="table-responsive"> 
          <table class="table table-bordered" id="dynamic_field"> 
           <tr> 
            <td> 
             <input type="text" name="question[]" placeholder="Ask a question" class="form-control" /> 
             </td> 
             <td><input type="text" name="name[]" placeholder="Enter your Name" class="form-control name_list" /></td> 
             <td><button type="button" name="add" id="add" class="btn btn-success">Add More</button></td> 

           </tr> 
          </table> 
          <input type="button" name="submit" id="submit" class="btn btn-info" value="Submit" /> 
         </div> 
       </form> 
      </div> 
     </div> 
    </body> 

<script> 
$(document).ready(function(){ 
     var i=1; 

    $('#submit').click(function(){    
     $.ajax({ 
      url:"name.php", 
      method:"POST", 
      data:$('#add_name').serialize(), 
      success:function(data) 
      { 
       alert(data); 
       $('#add_name')[0].reset(); 
      } 
     }); 
    }); 
}); 
</script> 
+0

nicht verändern Tabelle dies für verwenden. Geh "vertikal". Jede Frage sollte eine * Zeile * in der Tabelle und keine Spalte sein. Dann können Sie 'INSERT' verwenden, was viel einfacher ist. –

Antwort

1

1. Platz: Sie müssen e.preventDefault(); verwenden, um die Seite neu geladen zu verhindern.

2.: gut $('#add_name').on('submit') statt $('#submit').click zu verwenden.

3. Platz: Der Code sollte wie folgt aussieht:

<script> 
$(document).ready(function(){ 
     var i=1; 

    $('#add_name').on('submit' , function(e){ // <<<<<<<<<<<<<<<<<<< 2 
     e.preventDefault();     //<<<<<<<<<<<<<<<<<<<< 1  
     $.ajax({ 
      url:"name.php", 
      method:"POST", 
      data:$(this).serialize(), 
      success:function(data) 
      { 
       alert(data); 
       $('#add_name')[0].reset(); 
      } 
     }); 
    }); 
}); 
</script> 

in name.php

<?php 
    print_r($_POST); 
    // reset of php code here 
?> 

Sie auch einen Blick auf

Retrieving serialize data in a php file called using ajax

und

nehmen

jQuery AJAX form data serialize using PHP

1

Ihre js sollte Datei sein, um wie

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
<script src="scripts/main.js"></script>