2013-01-11 40 views
-2

我有一個PHP開關盒。如何使用按鈕點擊「n」的值?設置PHP開關盒的值

switch (n) 
    { 
    case 1: 
     $result = mysql_query("select * from tblRestaurants order by RestName ASC"); 
     break; 
    case 2: 
     $result = mysql_query("select * from tblCuisines order by RestName ASC"); 
     break; 
    case 3: 
     $result = mysql_query("select * from tblLocations order by RestName ASC"); 
     break; 
     case 4: 
     $result = mysql_query("select * from tblLocations order by RestName ASC"); 
     break; 
    case 5: 
     $result = mysql_query("select * from tblLocations order by RestName ASC"); 
     break; 
    } 

onclick = (switch)n=1 

只是猜測

+1

onclick是一個JavaScript函數嘗試重新簽署您的問題 –

+0

您不需要。 PHP是一種_preprocessor_語言,用於生成由瀏覽器執行的HTML和Javascript。你試圖錯誤地使用它。 –

+0

看來你正試圖調用一個JavaScript函數,只能使用適量的獨角獸眼淚灑在頂部。 – Jason

回答

1

在頁面加載了JSON數據請求後,您可以設置PHP變量的唯一方法返回...所有PHP代碼都在所有HTML之前執行,因此如果您提交可調用Java的按鈕-script函數,但您只能使用該onClick調用中的java-script函數。 如果你堅持不刷新頁面,你將不得不使用大量的AJAX並獲取JSON數據返回文檔。但是,如果您對頁面重定向沒有問題,您可以將表單提交到同一頁面,然後在頁面頂部檢查您是否發佈了內容,如果是,請執行您的查詢。 頁首:

<?php 
if(isset($_POST['form_submit'])){ 
//do your queries 
} 
?> 

在您的形式:

單布頓的
<form action='' method='POST'> 
<input type='submit' name='form_submit' value='Go'> 
</form> 
0

您需要在JavaScript中使用AJAX。另外,就你所知,最後3個查詢是相同的。

+0

謝謝。現在聲明中只有虛擬代碼。我有一個現在運行查詢的按鈕。當我只有一個按鈕時它工作正常,但現在我需要切換MySQL語句,所以我只需要潤溼一下。任何你知道的例子> –

0

的onClick會返回一個值。這意味着您需要(1)在表單中使用某種選項菜單; (2)創建某種方法,如果可能的話,將變量求和以得到一個組合結果。基於PHP,它看起來像你試圖讓用戶選擇5個可用案例之一,然後返回結果。

要做到這一點,我只想用一個選擇框

<select name="n"> 
    <option value = "1"> boom </option> 
    <option value = "2"> boom boom </option> 
    <option value = "3"> boom boom boom </option> 
    <option value = "4"> boom boom boom boom </option> 
    <option value = "5"> boom boom boom boom boom </option> 
</select> 

這將允許用戶選擇他們想要的選項,將其設置爲變量n。然後,只需使用

switch($n){ 
........ 
} 

並且應該運行用戶從上面的菜單中選擇的更多情況。

+0

嘗試它,並且在($ nt = mysql_fetch_assoc($ result))時在這條線上得到錯誤 $ arrData [] = $ nt;提供的參數無效。 –

+0

不知道你在做什麼我只是在回答如何設置swich語句的值。此while循環的任何其他代碼? – Rarw

+0

This ... while($ nt = mysql_fetch_assoc($ result)) $ arrData [] = $ nt;如果(isset($ _ GET [「ajax」])) { echo json_encode($ arrData); die(); } –