Daten aus der Datenbank mittels checkbox löschen

Hallo,

haben viel rum gestöbert und versuche nun seit Tagen das Probelm zu lösen, da ich noch recht neu in PHP bin würde ich mich freuen, wenn mich jemand auf meinen Fehler hinweisen könnte

Mein Formular:

[HTML]





                    <th class="tc">Services</th>
                    <th class="tc">Status</th>
                </tr>
            </thead>
            <tbody class="openable-tbody">
            <?php
            
            include('connect.php');
            
            $abfrage = mysql_query("select * from bestellung");
               $num = mysql_num_rows($abfrage);
               
               while ($dsatz = mysql_fetch_array($abfrage))
               {
                        ?>
                        
                        <tr class="odd">
                    <td class="tc">
                    <? echo "<input type='checkbox' name='loeschen[]' value='$id'>";  ?> </td>
                    <? echo "<td class='tc'>" . $dsatz["nachname"] . " , " . $dsatz["vorname"] . "</td>";
                    echo "<td class='tc'>" . $dsatz["services"] . "</td>";
                    echo "<td class='tc'>" . $dsatz["status"] . "</td>";
                    echo "</tr>";
                
            
               }
                ?>

            </tbody>
            </table>
            
                
            
            <? echo "<input type='submit' name='submit' value='Loeschen' />"; ?>
            
            
            </form>[/HTML]

Die Daten werden an folgende PHP Datei übergeben:

[PHP]<?php
include(„connect.php“);

                 //Variablen zuweisen
                $submit = $_POST["submit"];
                
                
                if($submit) {
                
                for($i = 0; $i < count($_REQUEST['loeschen']); $i++)
                {
                if($_REQUEST['loeschen'][$i] == $id)
                {
                $sql_befehl = mysql_query("DELETE FROM bestellung WHERE ID='$loeschen'");
                
                if($sql_befehl)
                { 
                echo "Ihr Eintrag wurde geloescht."; 
                }
                else
                {
                echo "Eintrag konnte nicht geloescht werden!";
                }
                
                  
                mysql_close($datenbank); 
                }        
                         
                }
                
                }
                else
                {
                echo " Hat nicht geklappt!";
                }
                ?>
                
                [/PHP]

Bekomme zwar die Meldung das der Eintrag gelöscht wurde, wurde er aber nicht wirklich. Habe rum probiert und rum probiert und schätze nach allen Test das die ID nicht übergeben wird und der Eintrag deshalb nicht gelöscht wird, weiß aber leider nicht wo mein Fehler liegt. Freue mich über jede Hilfe

Name

Willkommen im Forum.

Im unteren Script sind wahrscheinlich die Variablen $id und $loeschen nicht gesetzt. Sicherlich müsste es $_POST[‚loeschen‘] heißen. Woher $id kommt, kann ich nicht sagen.

Setze als erste PHP-Code-Zeile in die Datei:

[php]error_reporting(-1); // -1 = alle Bits gesetzt, alle Fehler anzeigen[/php]

Das dürfte auf diverse Dinge hinweisen.

Vielen Dank für den Tip wird mir sicher zukünftig öfter eine Hilfe sein. Fehler waren id und loeschen waren nicht „bekannt“ innerhalb des Scripts. Habs jetzt geschafft das die ID übertragen wird, mein Fehler war einfach myqsl ist case sensitive was ich nicht beachtet habe und id immer als id und nicht als ID deklariert hab. Jetzt funktionierts. Danke :slight_smile: