2011-03-15 22 views
0

我遇到了我正在構建的網頁存在問題。 我有2個按鈕,每個按鈕的目的是更新我的MySQL表中的'文件位置'字段,onClick。所以上面如何在同一頁面上有超過1個MySQL UPDATE查詢?

$setloc = mysql_query("UPDATE users SET filelocation='location1' WHERE username='$username'"); 
$setloc2 = mysql_query("UPDATE users SET filelocation='location2' WHERE username='$username'"); 

是我的查詢UPDATE filelocation要麼 'LOCATION1' 或 'LOCATION2';以下是應該既可以執行$ setloc按鈕$ setloc2的onClick()

<div id='targetdiv'> 
    <input class='destination' type='button' name='button1' onClick='<?php $setloc; ?>' value='Click here 1' /><br /> 
    <input class='destination' type='button' name='button2' onClick='<?php $setloc2; ?>' value='click here 2' /><br /> 
</div> 

的問題是,你不需要點擊任何按鈕的設置MySQL表的文件位置字段。它自動設置文件位置爲$ setloc2

我該如何製作,以便您必須點擊按鈕才能執行$ setloc或$ setloc2;沒有它自動將文件位置設置爲$ setloc2。

非常感謝提前, 弘樹

回答

4

你這樣做是完全錯誤的。你的PHP運行在服務器上。您的JavaScript在客戶端上運行。

基本上PHP輸出發送到客戶端,所以查詢運行,並且他們的輸出(這是什麼在你的情況下)返回到客戶端在JavaScript標記你在javascript事件打開。 檢查您的HTML源代碼以瞭解。

我建議您閱讀HTTP的請求/響應性質,以瞭解HTTP和桌面應用程序之間的區別。

正確的方式做這將是:

<?php 
if ($_GET['input']==1) 
    $setloc = mysql_query("UPDATE users SET filelocation='location1' WHERE username='$username'"); 
elseif ($_GET['input']==2) 
    $setloc2 = mysql_query("UPDATE users SET filelocation='location2' WHERE username='$username'"); 
else 
{ 
?> 
<form method='get'> 
<input type='submit' name='input' value='1' /> 
<input type='submit' name='input' value='2' /> 
</form> 
<?php 
} 
+0

感謝您的幫助,我也會馬上給這個一杆。 – hiroki 2011-03-16 13:32:55

+0

嗯似乎不工作。去嘗試,看看我能否得到行動='<?php $ _SERVER [「PHP_SELF」]; ?>'使其工作。 – hiroki 2011-03-16 15:52:16