2013-04-17 150 views
0

我有兩個預備/接下來的調用getJSON。我想改變一個查詢,如果任何按鈕被點擊的話,按鈕是什麼。這裏是我的按鈕和getjson statments如何判斷點擊了哪個按鈕?

<input class="buttonsr" type="button" onClick="next()" name="NextLoad" value="Next Load"><input class="buttonsr" type="button" onClick="prev()"name="PrevLoad" value="Prev. Load"> 
$.getJSON("loadloads.php", document.getElementById('LoadNumber').value, jsonhandler) 

我想要做類似下面使用LoadNumber從GET。

if isset($_GET['prev']){ 
    $find = 'Where L.$_GET['LoadNumber'] > (max)LoadNumber FROM tblLoads' 
} 
if isset($_GET['next']){ 
    $find = 'Where L.$_GET['LoadNumber'] < (min)LoadNumber FROM tblLoads' 
} 
else{ 
    $find = 'L.LoadNumber = (SELECT MAX(LoadNumber) FROM tblLoads)' 
}; 
+4

您的代碼目前[容易](http://xkcd.com/327/)。 –

+0

與事件對象檢查: http://stackoverflow.com/questions/10428562/how-to-get-javascript-event-source-element – elopez

回答

0

您應該使用相同的功能,只需將參數傳遞給服務器。像

<input class="buttonsr" type="button" onClick="page('next')" name="NextLoad" value="Next Load"> 

function page(direction) { 
    $.getJSON("loadloads.php?direction="+direction,document.getElementById('LoadNumber').value,jsonhandler) 
} 

東西在服務器端,使用$ _GET [「方向」],看看如果你打算下一個或上。

if ($_GET['direction'] == 'next') { 
    // GO NEXT 
} else { 
    // GO PREV 
} 

順便說一下,「isset()函數」只需要2「的」;) 希望這有助於,你可以發表評論,如果我錯過了這一點!

+0

我真的希望它是SSSET。我認爲這是我需要去的方向,但現在我遇到了問題,查詢中的變量沒有運行。我收到一個網絡錯誤500內部服務器錯誤。 –

+0

如果你複製了我寫的內容,那麼URL中的空間不應該在那裏。我編輯過。確保你的標題發送正確(你可以在控制檯中使用firebug或chrome(網絡)(兩個瀏覽器上的f12)來查看參數是否被正確發送) – Bene

+0

我認爲這與引用有關。我有查詢='選擇從哪裏'$ var'orderby'; –

0

我可能是錯的,但我相信,如果要訪問「LoadNumber」在$ _GET超級全局,那麼你需要在一個對象通過像這樣在$ .getJSON數據參數:

$.getJSON("loadloads.php", { LoadNumber:$('#LoadNumber').val() }, jsonhandler); 
    // NOTE: I used jquery shorthand instead of document.getElementById() to get the value 
    // simply to shorten it up. 

我之前,但沒有使用$ .getJSON()從文檔: http://api.jquery.com/jQuery.getJSON/
它說,$ .getJSON是使用GET請求的方法,所以如果你在一個對象傳遞與爲$就只是速記你正在尋找什麼的關鍵,然後我的猜測是$ .getJSON將把它放到$ _GET中供你抓取。另外Kolkin是正確的,這個代碼很容易被SQL注入,你應該永遠不要將數據從$ _GET,$ _POST或$ _REQUEST直接插入到你的SQL查詢中,而不需要過濾它。您可能會將代碼打開到可能會清除數據庫中的數據或訪問敏感數據並將其返回的惡意注入。

希望這會有所幫助。

相關問題