2012-05-02 49 views
-1

我試圖通過從下拉菜單中選擇新聞事件從數據庫中刪除新聞事件。當用戶選擇新聞標題並按下提交按鈕時,應從相關表中刪除新聞項目。無論我嘗試什麼,我都無法正確地工作。抱歉,我是PHP新手。 有人可以幫忙嗎?這裏是下拉菜單:php下拉菜單從數據庫中刪除

$sql="SELECT newstitle FROM $tbl_name"; 
    $result=mysql_query($sql); 
    ?> 

    <select name="select1"> 
    <?php 
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
    ?> 
    <option value="<?php echo $row['newstitle'];?>"> <?php echo $row['newstitle'];?>   </option> 

    <?php 
    } 
    ?> 
    </select> 


    <td><center><input type="submit" name="delete" value="delete"></center></td> 

我也有這個代碼,當按下按鈕時從數據庫中刪除?

$delete=$_POST['delete']; 
    $delete = mysql_real_escape_string($delete); 

    mysql_query ("DELETE FROM $tbl_name WHERE newstitle='$delete'") or die ("Error- news has not been deleted"); 
     echo "News has been deleted"; 
     header("Location: newsdeleted.php"); 
+1

歡迎堆棧溢出!請停止使用古老的'mysql_ *'函數編寫新代碼。他們不再被維護,社區已經開始[棄用流程](http://news.php.net/php.internals/53799)。相反,您應該瞭解準備好的語句並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你關心學習,[這裏是一個很好的PDO相關教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 –

+0

除了@Truth所說的內容之外,你目前對一些嚴重的SQL注入開放,如果你還沒有註冊,你將被黑客攻擊**。如果你學會正確地使用準備好的陳述,這對你來說不再是一個問題。另外,您不能在'Location:'標題中使用相對路徑。雖然它大部分時間都可以使用,但RFC說你不能使用它。最後,不要使用'

'標籤。他們已經死了很長一段時間了。使用CSS來設置頁面的樣式。 – Brad

回答

0
  • $tbl_name沒有設置你的刪除腳本。
  • 請仔細閱讀了有關SQL注入,過濾你的輸入,逃避查詢
  • 你應該使用PHP PDO而不是舊版本的MySQL funcs中
  • 除非你是緩存因爲你已經輸出到標準輸出你的頭線將無法正常工作。
  • 你的選擇輸入被稱爲select1delete
0
// Your check for the "delete" submit value goes here 
// Submit name and value are both 'delete' 
if (isset($_POST['delete']) && $_POST['delete'] == 'delete') { 
    // This is the value passed from the form (use select element's name) 
    $selected_newstitle = $_POST['select1']; 
    ... 
} 
+0

對不起,我不確定你的意思是插入這個,我把它放在mysql_query上面嗎? – user1368371