2015-01-16 75 views
0

所以我正在學習PHP和MySQL,知道HTML和JS。我爲自己做了一個小筆記webapp,並且偶然發現了一個問題。我通過使用foreach和echo來生成div。筆記存儲在數據庫中,並使用「SELECT」-mysql進行請求。刪除按鈕(作爲一個按鈕,但是文本)連接到也生成的表單;每種音符的一種形式。PHP自動生成的div與刪除按鈕

echo "<form method='post' id='" . $row['id'] . "form" . "' action='handler.php'>"; 
        echo "<input type='hidden' name='deleteRecord_button'"; 
        echo "<input type='hidden' name='" . $row['id'] ."'>"; 
       echo "</form>"; 

當我使用刪除按鈕的形式來發送POST作爲一個handler.php文件,但我似乎無法找到發送的「ID」的一個很好的方式提交表單注意到,這樣我可以使用 庫MySQLi從數據庫中刪除「DELETE FROM筆記WHERE ID =音符的ID ...

enter image description here

抱歉,如果這是沒有意義的,但我想知道關於如何將notes.php(下圖)的id發送到handler.php文件,我可以處理和刪除t中的音符他數據庫。我更喜歡使用「普通」JS,PHP,但我也使用jQuery。

回答

2

改變這一行...

echo "<input type='hidden' name='" . $row['id'] ."'>"; 

echo "<input type='hidden' name='id' value='" . $row['id'] ."'>"; 
+1

只需添加到此,您就可以使用'$ _POST ['id']' – naththedeveloper

+0

來訪問ID值。我真的不知道「價值」標籤做了什麼,所以我試圖通過div的id標籤發送註釋的id。我的代碼中也有一個錯字,我忘了結束。 –

0

既然你讓你的表單字段名稱包含的ID,你需要這樣的事:

$formIDs = preg_grep('/^\d+form$/', $_POST); 
foreach ($formIDs as $id_string) { 
    $id = substr($id_string, 0, -4); 
    ... do something with the ID ... 
} 

例如

<input type="hidden" name="42form" ?> 

生產

$formIDs = array('42form'); 
0

你沒有指定 'deleteRecord_button' 輸入的值。如果你像我一樣添加它,它會工作。

<form method="POST" id="<?php echo $row['id'] ?>form" action="handler.php"> 
    <input type="hidden" name="deleteRecord_button" value="<?php $row['id']; ?>"/> 
</form> 

現在,您可以忽略一個提示,如果你想。

除了使用表單將值發佈到另一個頁面,您還可以使用GET方法。這可以用較少的代碼完成。

<a href="handler.php?delete=<?php echo $row['id']; ?>">Delete</a> 

如果在catch.php中捕獲GET,並且必要時檢查是否有用戶登錄然後執行數據庫命令。如果這樣做,請確保刪除變量是否爲數字。你可以使用is_numeric

+0

不錯的建議。我會考慮的! –