不使用复选框从数据库中删除值

时间:2015-10-19 01:30:47

标签: php mysql pdo

我有一个简单的问题,我试图使用一个函数来使用复选框从数据库中删除某个电影。我可以很好地将数据添加到数据库中,但似乎无法使用复选框删除。在此先感谢您的帮助!

<!DOCTYPE html>
<html>
    <head>
    <meta charset='utf-8' />    
    </head>
<body>
    <? 
        $db = new PDO("mysql:host=localhost;dbname=armstrongpz", "armstrongpz", "12345");
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    ?> 

    <?
        function deleteFromDatabase($db)
        {
            $deleteQuery = $db->prepare("SELECT * FROM movie");
            $deleteQuery->execute(); 

            foreach($deleteQuery->fetchAll() as $row)
            {
                if(array_key_exists($row['id'], $_POST))
                {
                    $deleteQuery = $db->prepare('DELETE FROM movie WHERE movie.id='. $row['id']);
                    $deleteQuery->excute(); 
                }
            }
        }
    ?>


    <h2 style='text-align: center';>
        Movie Collection Database
    </h2>   
    <? 
        if($_SERVER['REQUEST_METHOD'] === "POST")
        {
            deleteFromDatabase($db);

            if(isset($_POST['add']))
            {
                $TitleOfMovie = $_POST['TitleMovie'];
                $StudioOfMovie = $_POST['StudioMovie'];
                $RatingOfMovie = $_POST['mRating'];
                $PubYearOfMovie = $_POST['PubYear'];
                $IMDBRating = floatval($_POST['imdbRating']);
                $RunTimeOfMovie = $_POST['RunTime'];

                $addQuery = "INSERT INTO movie (id,title,studio,rating,pub_year,imdb_rating,run_time) VALUES(".'NULL'.", '$TitleOfMovie','$StudioOfMovie','$RatingOfMovie','$PubYearOfMovie', '$IMDBRating', '$RunTimeOfMovie')";
                $statement = $db->prepare($addQuery); 
                $statement->execute(); 

            }

        }
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post'>
        <table align='center' border='0' cellpadding='5'>
            <tbody>
                <tr>
                    <td style='border-style: none'>
                        <input name='TitleMovie' size='50' type='text' width='35' value= 'Title'/>
                    </td>
                    <td style='border-style: none'>
                        <input name='StudioMovie' size='25' type='text' width='35' value= 'Studio Name'/>
                    </td>
                    <td>
                    <?
                        $rating = array(1=>'G', 'PG', 'PG-13', 'R', 'NC-17', 'Not Rated');
                                echo "<select size='1' selected='movieRating' name='mRating'>"; 
                                foreach($rating as $key=>$value)
                                {
                                    echo "<option value=\"$key\">$value</option>\n";

                                }
                                echo "</select>\n"; 
                    ?>
                    </td>
                    <td style='border-style: none'>
                        <input name='PubYear' size='10' type='text' width='35' value='Pub Year'/>
                    </td>
                    <td style='border-style: none'>
                        <input name='imdbRating' size='10' type='text' width='35' value='IMDB rating'/>
                    </td>
                    <td>
                        <input name='RunTime' size='10' type='text' width='35' value='Run time'/>
                    </td>
                    <td>
                        <input type="checkbox" name="add" value="Add" align="top"/>Add
                    </td>

                </tr>
                <div style="text-align:center">
                            <input type='submit' name='submit' value='Update Database'> 
                </div>
            </tbody>
        </table>
    </form>


    <table border ='1' align='center'>
    <?
        $arrayOfFieldNames = array("Title", "Studio", "Rating", "Pub. Year", "IMDB Rating", "Run time(min)");

            echo "<tr>";
                echo "<td>". $arrayOfFieldNames[0] . "</td>";
                echo "<td>". $arrayOfFieldNames[1] . "</td>";
                echo "<td>". $arrayOfFieldNames[2] . "</td>";
                echo "<td>". $arrayOfFieldNames[3] . "</td>";
                echo "<td>". $arrayOfFieldNames[4] . "</td>";
                echo "<td>". $arrayOfFieldNames[5] . "</td>";
                echo "<td>Delete</td>";
            echo "</tr>";
    ?>  
        <?
            $query = "SELECT * FROM movie";
            $stmt = $db->prepare($query);
            $stmt->execute();

            while($row = $stmt->fetch(PDO::FETCH_ASSOC))
            {
                echo "<tr>";
                echo "<td>" .$row['title']. "</td>";
                echo "<td>" .$row['studio']. "</td>";
                echo "<td>" .$row['rating']. "</td>";
                echo "<td>" .$row['pub_year']. "</td>";
                echo "<td>" .$row['imdb_rating']. "</td>";
                echo "<td>" .$row['run_time']. "</td>";
                echo "<td><input type='checkbox' name='". $row['id'] . "' value='" . $row['id'] . "'>Delete</td>";
                echo "</tr>";
            }
        ?>
    </table>

    <?
        if(isset($db))
        {
            $db= null;
        }
    ?>
</body>

0 个答案:

没有答案
相关问题