2017-01-04 8 views
0

これは何度も尋ねられていますが、私は多くの回答を読んだことがありますが、これを動作させることはできません。私はMySQLのテーブルからすべてのレコードを削除するボタン(PHP/HTML)を作成しようとしています。私はデータベースにtvdbaseというテーブルを持っています。私はそのテーブルからすべてのレコードを削除するが、構造を維持したいと思います。任意の時点でテーブルに10行以上はありません。私は削除ボタンをクリックするとPHPを使用してMySQLテーブルからすべての行を削除します

これは私のコード(私はこの例では、すべての不要なHTMLコードを削除した)

<?php include('includes/database.php'); ?> 
<?php 
    error_reporting(E_ALL); 
    ini_set('display_errors',1); 

    if($_POST){ 
     //Delete records 
     $query = "DELETE FROM tvdbase"; 
     $mysqli->query($query) or die($mysqli->error.__LINE__); 
     // Also tried replacing the 2 lines above with: 
     // mysqli_query("DELETE FROM tvdbase"); 
     $msg = "Entries Deleted Successfully"; 
     header('Location:home.php?msg='.urlencode($msg).''); 
     exit; 
    } 
?> 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    </head> 
    <body> 
<!-- FORM START --> 
     <form role="form" method="post" action="delete_all.php">   
     <!-- BUTTONS START --> 
      <a class="btn btn-default" href="home.php" role="button">Cancel</a> 
      <input type="submit" class="btn btn-danger" value="Delete" /> 
     <!-- BUTTONS END -->   
     </form> 
<!-- FORM END -->  
    </body> 
</html> 

あるだけで同じページをリロードし、データがテーブルにまだです。私はまだPHPとMySQLに新しいので、エラーを許してください。誰かが私が間違っている場所についていくつかの光を当てることができますか?

私はこの私が次のコードで、各行にHTMLテーブルの削除ボタンを持つ単一の行のために働いてきた:

<?php include('includes/database.php'); ?> 
<?php 
    //Variable 
    $id = $_GET['id']; 
    //Create room select query 
    $query ="SELECT * FROM tvdbase 
      WHERE id = $id"; 
    $result = $mysqli->query($query) or die($mysqli->error.__LINE__); 
    if($result = $mysqli->query($query)){ 
     //Fetch object array 
     while($row = $result->fetch_assoc()) { 
      $tvDate = $row['tvDate']; 
      $tvCourse = $row['tvCourse']; 
      $tvRoom = $row['tvRoom']; 
     } 
     $result->close(); 
    } 
?> 
<?php 

    if($_POST){ 
     //ID Variable 
     $id = $_GET['id']; 
     //Delete room 
     $query = "DELETE FROM tvdbase WHERE id = $id"; 
     $mysqli->query($query) or die($mysqli->error.__LINE__); 
     // $msg="Entry Deleted"; 
     $msg = "<div class='alert alert-danger'> 
       Entry Deleted Successfully 
       </div>"; 
     header('Location:home.php?msg='.urlencode($msg).''); 
     exit; 
    } 
?> 

The form action is delete_room.php?id=<?php echo $id; ?> 
+1

をこのテーブルには、任意の関係を持っていますか? –

+0

DELETEまたはTRUNCATEしますか? – Strawberry

+0

HTTP POSTリクエストでHTTP GET引数を探しますか? – arkascha

答えて

-1

コードかどうかを確認するために、あなたのIF文で何かを印刷しよう通過する。

ない場合は、フォームに追加してみてください:

<input type='hidden' name='flag' value='pass'> 

次に、このようにあなたのIFを変更します。

if ($_POST['flag'] == "pass") { 

} 
+0

ありがとう@ソプラノこれは助けた。私の問題はフォームにありました。 – Alex

関連する問題