2015-12-19 93 views
-1

好吧,我完全新的SQL,並沒有即使知道編碼,直到一個星期前,所以請原諒我,如果我問什麼明顯的東西。SQL刪除按鈕故障

我想關於這個問題的搜索,但每一個答案,給出了不同的解決方案,所以我很困惑。

下面這個按鈕是一個IFRAME autorefreshing我的數據庫上幾秒鐘。

我儘量讓一個按鈕來刪除我的數據庫中的第一行和代碼工作,但它只有當我刷新頁面,如果我按一下按鈕,沒有任何反應,沒有行被刪除的作品。

任何人有什麼我做錯了的提示?

<input name="input" type="button" onClick="<?php 
$servername = "XXXXX"; 
$username = "XXXXX"; 
$password = "XXXXX"; 
$dbname = "XXXXX"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

// sql to delete a record 
$sql = "DELETE FROM XXXXX LIMIT 1;"; 

if ($conn->query($sql) === TRUE) { 
     echo "Record deleted successfully"; 
} else { 
    echo "Error deleting record: " . $conn->error; 
} 

$conn->close(); 
?>&quot;" value="Kvittera"> 
+1

您不應該像這樣將PHP/MySQL嵌入到輸入中,這是它不起作用的原因。創建一個調用函數的按鈕。 –

+0

是我應該調用還是連接的刪除函數? – Niklas

回答

0

你只是誤解了一些東西。您使用PHP作爲服務器端腳本語言。爲了簡化事情,當你問你的Web服務器,以顯示index.php,它處理的index.php一次內容,執行<??>之間的一切,並輸出其餘部分,是創建一個HTML網頁是由您的瀏覽器顯示。因此,當您用問題中粘貼的代碼打開iframe時,它會立即執行,行被刪除。如果你看一下生成的HTML頁面的源代碼,你將看到類似

<input name="input" type="button" onClick="Record deleted successfully&quot;" value="Kvittera"> 

同時,onClick的Javascript功能該用戶的瀏覽器內執行。 它只是不是在客戶端 - 服務器應用程序中完成的事情。您必須有一個單獨的PHP文件,其中包含一個腳本以刪除該行,如deleterow.php,並通過在瀏覽器中打開該文件(如其他任何鏈接)來調用該文件。現在,「打開鏈接」來調用這樣的腳本,而不實際更改/刷新頁面是使用Javascript AJAX函數完成的,您可以將它綁定到onClick。看看它,在這裏描述太漫長了。

+0

所以,我做了一個新的索引頁,其中有一個沒有功能atm的按鈕,我自動刷新下面的iframe以顯示數據庫。任何人,如果它不復雜,給我一個例子,當我按下按鈕時,我應該如何創建一個腳本來執行?是不是像onClick =「script.js」,或者我可以添加代碼在* .txt中並調用它? – Niklas

+0

我想通了,謝謝你的幫助! – Niklas