2017-05-03 52 views
1

我有一個包含多個複選框的HTML表單。當用戶單擊提交按鈕時,已檢查的數組已發佈,並根據該結果運行查詢。 我有一個按鈕,允許用戶保存他們的結果,當他們將保存的結果插入到另一個表中。 但這意味着我需要重新發布表單結果,它不允許我這樣做。我將如何解決這個問題?多次發佈表單數組

+0

你可以使用ajax。 –

+0

我該怎麼做? – Beck

+0

您可以分開您想要在第一次提交時撥打的部分和其他部分,以便更好地瞭解 –

回答

1

PHP代碼

<?php 

if (isset($_POST['submit']) && isset($_POST['sport'])) { 
    $class = $_POST["sport"]; 
    foreach ($class As $key => $value) { 
     $query = "SELECT * 
FROM sport b 
join sport a 
on a.Tag = b.Name 
where a.SportID<> b.SportID and a.Tag = '$value'"; 

     $result = mysqli_query($con, $query) or die("Invalid Query"); 

     while ($row = mysqli_fetch_assoc($result)) { 

      echo "* $row[Name]\n"; 
     } 
    } 
} else if (isset($_POST['saved'])) { 


    $arr_class = $_POST["sport"]; 


    foreach ($arr_class As $key => $newvalue) { 

     $query2 = "INSERT INTO save (Username, Name) 
    SELECT '$username', b.Name 
    FROM sport b 
    JOIN sport a 
    on a.Tag = b.Name 
    where a.SportID <> b.SportID 
    and a.Name = '$newvalue'"; 

     $result2 = mysqli_query($con, $query2) or die('Result could not be saved!'); 


    } 
    echo 'Result saved!'; 
} 

JS代碼

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('.submit-button').click(function (ev) { 
      var $item = $(this); 
      var formData = $('form').serialize(); 
      $.ajax({ 
       data: formData+'&submit=submit', 
       url:'test1.php', 
       type: "POST", 
       dataType: "html", 
       success:function (data) { 
        console.log(data); 
        if(confirm('You want to save \n'+data+ ' as your sport')){ 
         $.ajax({ 
          data: formData+'&saved=saved', 
          url:'test1.php', 
          type: "POST", 
          dataType: "html", 
          success:function (data) { 
           console.log(data); 
          } 
         }); 
        } 
       } 
      }); 
     }); 
    }); 
</script> 

HTML代碼

<form id="form" action="" method="post"> 
    <input type="checkbox" name="sport[]" value="Football">Football<br> 
    <input type="checkbox" name="sport[]" value="Rugby">Rugby<br> 
    <input type="checkbox" name="sport[]" value="Golf">Golf<br> 
    <input type="checkbox" name="sport[]" value="Basketball">Basketball<br> 

    <br> <input type="button" class="submit-button btn btn-info" name="submit" value="submit"> 
    <input type="submit" style="display:none;"> 
</form> 
+0

您是否已將URL從'url:'test1.php','更改爲您的一個 –

+0

林被告知,注意:未定義的索引:運動 – Beck

+0

什麼行號? –