2016-11-01 42 views
1

我已經搜索了幾個小時,以瞭解我如何能夠做到這一點,但不幸的是,一切都無濟於事。JQuery在url中發送多個變量

我想發送輸入的信息,以便它可以通過MySQL運行並獲取信息,然後在屏幕上的表中回顯它。

問題(據我可以告訴)必須與我的jQuery代碼:

$("#btnCheckNoteIDs").click(function(){ 
    var noteUser = $("#noteUser").val(); 
    var noteDate = $("#noteDate").val(); 
    $("#LoadNoteIDs").load('check_noteIDs.php?noteDate='+noteDate + "&noteUser="+noteUser); 
}); 

我的PHP代碼如下:

$result = mysqli_query($con," 
SELECT ID, ClientID, Note, ToDoDate, CaseID 
FROM ToDoNotes 
WHERE ToDoStatus='0' and Deleted='0' and `ToDoDate`='".$_GET['noteIDsDate']."' and User='".$_GET['noteIDsDate']."'"); 
while($row = mysqli_fetch_array($result)) 
{ 
$ID = $row['ID']; 
$ClientID = $row['ClientID']; 
$Note = $row['Note']; 
$ToDoDate = $row['ToDoDate']; 
$CaseID = $row['CaseID']; 
} 

?> 

<table class="table table-striped"> 
<thead> 
<tr> 
<th>Note ID</th> 
<th>Client ID</th> 
<th>Case ID</th> 
<th>Note</th> 
<th>To Do Date</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td><? echo $noteID; ?></td> 
<td><? echo $ClientID; ?></td> 
<td><? echo $CaseID; ?></td> 
<td><? echo $Note; ?></td> 
<td><? echo $ToDoDate; ?></td> 
</tr> 
</tbody> 
</table> 

這裏任何人都可以提供任何幫助,請?任何幫助將不勝感激!

謝謝!

+0

將您的php代碼發佈到check_noteIDs.php中。 –

+0

當您點擊按鈕時,您是否能夠在瀏覽器網絡選項卡中看到發送的請求? –

+0

@ArminSam不,它所做的只是將check_noteIDs.php頁面加載到表頭並且沒有任何信息? 編輯:它有這在網絡選項卡: 'check_noteIDs.php?noteDate = undefined&noteUser = undefined' – DisplayName

回答

0

假設你已經form.php的象下面這樣:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 
    <form method="post" id="btnCheckNoteIDs"> 
     <label> User</label> 
      <input type="text" name="user" id="noteUser"><br> 
     <label>Date</label> 
      <input type="date" name="date" id="noteDate"><br> 
     <input type="submit" value="submit"> 
    </form> 
    <br> 
    <div id="LoadNoteIDs"></div>  
</body> 
</html> 

<script src="https://code.jquery.com/jquery-1.12.4.min.js" 
       integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" 
       crossorigin="anonymous"></script> 
<script> 

     $(document).ready(function() { //make sure document is ready  
      $('#btnCheckNoteIDs').submit(function(e){ 
      e.preventDefault();//to prevent default behaviour 

      var noteUser = $("#noteUser").val(); 
      var noteDate = $("#noteDate").val(); 
      if(noteUser==undefined){ 
      alert('No noteuser'); 
      return false; 
      }else if(noteDate==undefined){ 
      alert('no note date'); 
      return false;//stop sending 
      } 
     //to convert %2F, use decodeURIComponent 
      var param= 'noteDate='+decodeURIComponent(noteDate) + '&noteUser='+noteUser; 
      $.ajax({ 
       url: "check_noteIDs.php", 
       data: param, 
       type: "post", 
       success: function(data){ 
        $('#LoadNoteIDs').html(data); 
       } 
      }); 
      }); 
     }); 

</script> 
在check_noteIDs.php

必須是在你把form.php的同一個文件夾

require_once "dbconfig.php"; 

$user= isset($_REQUEST['noteUser'])? $_REQUEST['noteUser']:''; 
$date = isset($_REQUEST['noteDate'])? date('Y-m-d', strototime($_REQUEST['noteDate'])):''; 
//You can validate here. 

$result = mysqli_query($con," SELECT ID, ClientID, Note, 
           ToDoDate, CaseID 
           FROM `ToDoNotes` 
           WHERE `ToDoStatus`='0' AND `Deleted`='0' 
           AND `ToDoDate`='$date' 
           AND `User`='$user'"); 

$row = mysqli_fetch_assoc($result); 

<table class="table table-striped"> 
    <thead> 
    <tr> 
     <th>Note ID</th> 
     <th>Client ID</th> 
     <th>Case ID</th> 
     <th>Note</th> 
     <th>To Do Date</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td><?php echo $row['ID']; ?></td> 
     <td><?php echo $row['ClientID']; ?></td> 
     <td><?php echo $row['CaseID']; ?></td> 
     <td><?php echo $row['Note']; ?></td> 
     <td><?php echo $row['ToDoDate']; ?></td> 
    </tr> 
    </tbody> 
</table> 
<?php 
mysqli_free_result($result);  
mysqli_close($con); 
?> 
+0

這似乎是將其添加到網址,這是1步向前...現在的問題似乎是,而不是加載與頁面上的信息,我點擊提交按鈕的表,它是帶我到一個完全獨立的頁面 – DisplayName

+0

這意味着你必須防止默認提交。 –

+0

啊哈,我想這可能是現在到了! 最後一個問題,我認爲可能會導致問題... noteDate是一個日期被選中(很明顯),但在它的URL看起來像這樣: '01%2F11%2F2016'如果我選擇今天的日期。任何快速修復這個請嗎? @Mawia HL – DisplayName

0

我覺得你的問題是表單中的提交按鈕在腳本執行前提交表單。如果是這樣的話,你需要更新你的腳本,如下所示:

$("#btnCheckNoteIDs").click(function(event){ 
    event.preventDefault(); 
    var noteUser = $("#noteUser").val(); 
    var noteDate = $("#noteDate").val(); 
    $("#LoadNoteIDs").load('check_noteIDs.php?noteDate='+noteDate + "&noteUser="+noteUser); 
});