2013-04-10 91 views
0

我有這個while循環回聲來自SQL數據庫的條目。我有一個「添加到購物車」按鈕,應該從列表中刪除條目,並將其添加到其他地方。這部分工作,但一旦我點擊「添加到購物車」按鈕,該條目不會馬上刪除,我必須手動刷新頁面或訪問另一個頁面,並返回以便看到該項目被刪除。我嘗試在按鈕的onclick propery上使用以下(和幾個類似的)行,但它不起作用。PHP刷新按鈕onclick

echo "<br /><center><input type='submit' name='submitAdd' value='Add to Cart' onclick='window.location.reload();'></center>"; 

任何建議表示讚賞。

謝謝。

編輯:這是我用來生成表的while循環。它在一個標籤裏面。

while ($row = mysql_fetch_array($song_query)) { 
    foreach ($_SESSION['selected_items'] as $key => $value) { 
     if ($value == $row['Item_ID']) { 
      $rowID = $row['Item_ID']; 
      echo "<tr style='background-color: #66FFFF;'>"; 
      echo "<td><input type='checkbox' name='removeFromCart[]' value='$rowID'></td>"; 
      echo "<td>" . $row['Item_ID'] . "</td>"; 
      echo "<td>" . $row['Name'] . "</td>"; 
      echo "<td>" . $row['Artist'] . "</td>"; 
      echo "<td>" . $row['Album'] . "</td>"; 
      echo "<td>" . $row['Time'] . "</td>"; 
      echo "<td>" . $row['Year'] . "</td>"; 
      echo "<td>" . $row['Bit_Rate'] . "</td>"; 
      echo "<td>" . $row['Sample_Rate'] . "</td>";     
      echo "</tr>"; 
     } 
    } 
} 
+0

處理添加到購物車功能的頁面是否一樣?或者它在不同的頁面上? – asifrc 2013-04-10 23:57:08

+0

這是相同的頁面。 – TheShadowbyte 2013-04-11 00:01:05

回答

3

PHP是一種服務器端語言,所以在結果顯示給用戶之前,服務器上將執行任何「動作」。爲了在頁面加載到用戶瀏覽器後修改頁面,您必須使用客戶端語言,例如JavaScript。如果您想在不必重新加載頁面的情況下顯示購物車的更新,那麼使用AJAX請求是您的最佳選擇。退房的教程在http://www.w3schools.com/ajax/,讓我知道,如果你有關於如何實現一個:)

更新任何問題:強制刷新
如果你想只是按原樣重新加載頁面堅持,嘗試onclick='window.location.reload(true);'代替的onclick='window.location.reload();'true參數強制向服務器發送獲取請求。 http://www.w3schools.com/jsref/met_loc_reload.asp

+0

是的,我嘗試使用JavaScript函數,如onclick ='window.location.reload();在按鈕上,但它不會工作。我從來沒有使用AJAX,但如果它解決了這個問題,我會試一試。 – TheShadowbyte 2013-04-11 00:19:29

+0

'window.location。reload();'確實是javascript,但它只是刷新頁面,這違背了動態網頁的目的lol。給教程一讀,並回到我:) – asifrc 2013-04-11 00:25:24

+0

另外,你打開使用jQuery?它會使ajax /更新頁面的方式更簡單。 – asifrc 2013-04-11 00:28:06

0

如果你正在尋找的唯一功能是重新載入頁面上的按鈕的點擊,一路上我通常做的是的onclick =「history.go(0)」

但如果形式按鈕是什麼提交表單,並已經重新加載頁面,然後我不明白爲什麼你不能把while循環您這樣其他的代碼後,

檢查FORM(){ UPDATE SQL數據庫 }

WHILE(){ 輸出數據庫數據 }

+0

我剛剛嘗試過,因爲某些原因沒有工作。 – TheShadowbyte 2013-04-11 00:06:40

+0

你如何提交表格? – SnoApps 2013-04-11 00:07:08

+0

」; – TheShadowbyte 2013-04-11 00:07:58