Ankündigung

Einklappen
Keine Ankündigung bisher.

Löschen von Datensätzen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Löschen von Datensätzen

    Hallo,

    Ich will mir den gesamten Inhalt einer Tabelle anzeigen lassen und dann einzelne Datensätze löschen können. Aber die Variable "Auswahl" in der Löschbedingung wird nicht gefüllt und ich habe keine Ahnung wie ich das machen soll.

    PHP-Code:
    <?php require_once('../Connections/golf.php'); ?>
    <?php error_reporting
    (E_ALL); ?>
      <?php
      $abfrage 
    "SELECT * FROM tbl_platz ORDER BY Platzname ASC";
      
    $ergebnis mysql_query($abfrage)or die(mysql_error());
      
    $row_ergebnis mysql_fetch_assoc($ergebnis);
      
    ?>
      <?php  if ($Auswahl=="löschen")
              { 
    mysql_query("DELETE FROM tbl_platz WHERE IDPlatz=".$row_ergebnis['IDPlatz'])or die(mysql_error());
             }
      
    ?>
    <body>
      <?php do { ?> 
      <tr> 
        <td class="Stil14"><?php echo $row_ergebnis['IDPlatz']; ?></td> 
        <td class="Stil14"><?php echo $row_ergebnis['Platzname']; ?></td> 
        <td class="Stil14"><?php echo $row_ergebnis['Club']; ?></td>
        <td class="Stil14"><?php echo $row_ergebnis['Pl_Ort']; ?></td>
        <td><label>
          <input type="submit" name="$Auswahl" value="löschen" />
        </label></td> 
      </tr> 
      <?php } while ($row_ergebnis mysql_fetch_assoc($ergebnis)); ?> 
    </table>
    </body>

  • #2
    das ist insgesamt sagt ich mal eher durchwachsen...
    als erstes: wieso ne do-while schleife... was ist wenn garkein datensatz gefunden wird ?

    dann schau dir mal formulare an... fehlt sowas wie form action und auch der name ="$..." ist falsch.

    auch das abfragen der variable $auswahl ist falsch... $_GET bzw $_POST
    Under Construktion

    Kommentar


    • #3
      So, habe jetzt ein paar Sachen geändert. Nur die do-while Schleife hab ich jetzt so gelassen, da in der Tabelle immer was stehen wird.
      Das Formular läuft zwar, nur wird der Datenstz nicht gelöscht, bzw. die Löschabfrage wird wohl erst gar nicht ausgeführt.

      PHP-Code:
      <?php require_once('../Connections/golf.php'); ?>
      <?php error_reporting
      (E_ALL); ?>
        <?php
        $abfrage 
      "SELECT * FROM tbl_platz ORDER BY Platzname ASC";
        
      $ergebnis mysql_query($abfrage)or die(mysql_error());
        
      $row_ergebnis mysql_fetch_assoc($ergebnis);
        
      ?>
        <?php  if (isset($_POST['Auswahl']))
                { 
      mysql_query("DELETE FROM tbl_platz WHERE IDPlatz=".$row_ergebnis['IDPlatz'])or die(mysql_error());
               }
        
      ?>

      </head>

      <body><form name="platzuebersicht" action="del_platz.php">
        <?php do { ?> 
        <tr> 
          <td class="Stil14"><a href="show_platz_detail.php"><?php echo $row_ergebnis['IDPlatz']; ?></a></td> 
          <td class="Stil14"><?php echo $row_ergebnis['Platzname']; ?></td> 
          <td class="Stil14"><?php echo $row_ergebnis['Club']; ?></td>
          <td class="Stil14"><?php echo $row_ergebnis['Pl_Ort']; ?></td>
          <td><input type="submit" name="Auswahl" value="löschen" /></td>
          <td><label><a href="edit_platz.php"><img src="../Pics/edit.png" alt="edit" width="21" height="21" border="0" /></a></label></td> 
        </tr> 
        <?php } while ($row_ergebnis mysql_fetch_assoc($ergebnis)); ?> 
      </table>
      </form>
      </body>
      </html>

      Kommentar


      • #4
        Hallo!

        Dein Problem ist du willst nach einer ID löschen aber du rufst die doch nirgendswo ab,wie soll denn da die Where Clausel richtig ausgeführt werden?

        Als erstes mal dein form tag so erweitern

        Code:
        <form name="platzuebersicht" action="del_platz.php" method="post">


        Füge mal das hier unter dein <form> tag mit ein!

        PHP-Code:
        <input type="hidden" name="IDPlatz" value="<?php echo $row_ergebnis['IDPlatz']) ?>">
        Und dann deine Where Clausel so ändern!

        PHP-Code:
        WHERE IDPlatz=".$_POST['IDPlatz'])or die(mys 
        Und dann müsste das eigentlich gehen!
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        [URL]http://www.lit-web.de[/URL]

        Kommentar


        • #5
          Danke!!
          Hab jetzt alles geändert. Aber der Datensatz wird noch immer nicht gelöscht. So langsam hab ich selber auch keine Idee mehr woran das liegen könnte.

          PHP-Code:
          <?php require_once('../Connections/golf.php'); ?>
          <?php error_reporting
          (E_ALL); ?>
            <?php
            $abfrage 
          "SELECT * FROM tbl_platz ORDER BY Platzname ASC";
            
          $ergebnis mysql_query($abfrage)or die(mysql_error());
            
          $row_ergebnis mysql_fetch_assoc($ergebnis);
            
          ?>
            <?php  if (isset($_POST['Auswahl']))
                    { 
          mysql_query("DELETE FROM tbl_platz WHERE IDPlatz=".$_POST['IDPlatz'])or die(mysql_error());
                   }
            
          ?>
          </head>

          <body>
            
            <form name="platzuebersicht" action="del_platz.php" method="post">
            <input type="hidden" name="IDPlatz" value="<?php echo $row_ergebnis['IDPlatz'?>">
              <?php do { ?> 
            <tr> 
              <td class="Stil14"><a href="show_platz_detail.php"><?php echo $row_ergebnis['IDPlatz']; ?></a></td> 
              <td class="Stil14"><?php echo $row_ergebnis['Platzname']; ?></td> 
              <td class="Stil14"><?php echo $row_ergebnis['Club']; ?></td>
              <td class="Stil14"><?php echo $row_ergebnis['Pl_Ort']; ?></td>
              <td><input type="submit" name="Auswahl" value="löschen" /></td>
              <td><label><a href="edit_platz.php"><img src="../Pics/edit.png" alt="edit" width="21" height="21" border="0" /></a></label></td> 
            </tr> 
            <?php } while ($row_ergebnis mysql_fetch_assoc($ergebnis)); ?> 
          </table>
          </form>
          <br /><div style="z-index:3" class="smallfont" align="center"><!-- google_ad_section_start(weight=ignore) -->LinkBacks Enabled by <a rel="nofollow" href="http://www.crawlability.com/vbseo/">vBSEO</a> 3.0.0<!-- google_ad_section_end --></div>
          <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
          </script>
          <script type="text/javascript">
          _uacct = "UA-4194548-2";
          urchinTracker();
          </script>
          </body>

          Kommentar


          • #6
            Also, wenn ich im <form> tag das die action angabe weglasse, funktioniert es. stellt sich nur noch die frage, ob das sauberer stil ist...??

            Kommentar


            • #7
              Ach Mist, funktioniert doch nicht. Es wird immer der erste Datensatz gelöscht und nicht der, den man möchte. Weiß einer evtl. woran das liegen könnte??

              PHP-Code:
              <?php require_once('../Connections/golf.php'); ?>
              <?php error_reporting
              (E_ALL); ?>
                <?php
                $abfrage 
              "SELECT * FROM tbl_platz ORDER BY Platzname ASC";
                
              $ergebnis mysql_query($abfrage)or die(mysql_error());
                
              $row_ergebnis mysql_fetch_assoc($ergebnis);
                
              ?>
                <?php  if (isset($_POST['delete'])){ 
                            
              mysql_query("DELETE FROM tbl_platz WHERE IDPlatz=".$_POST['IDPlatz'])or die(mysql_error());
                           }
                
              ?>
               <body>
                <form name="platzuebersicht" action="" method="post">
                <input type="hidden" name="IDPlatz" value="<?php echo $row_ergebnis['IDPlatz'?>">
                <?php do { ?> 
                <tr> 
                  <td class="Stil14"><?php echo $row_ergebnis['IDPlatz']; ?></td> 
                  <td class="Stil14"><?php echo $row_ergebnis['Platzname']; ?></td> 
                  <td class="Stil14"><?php echo $row_ergebnis['Club']; ?></td>
                  <td class="Stil14"><?php echo $row_ergebnis['Pl_Ort']; ?></td>
                  <td class="Stil12 Stil13"><label>
                    <input type="submit" name="Details" value="Details anzeigen"/>
                  </label></td>
                  <td><label>
                    <input type="submit" name="delete" value="l&ouml;schen" />
                  </label></td>
                  <td><label><a href="edit_platz.php"><img src="../Pics/edit.png" alt="edit" width="21" height="21" border="0" /></a></label></td> 
                </tr> 
                <?php } while ($row_ergebnis mysql_fetch_assoc($ergebnis)); ?> 
              </table>
              </form>
              </body>
              </html>

              Kommentar


              • #8
                Überleg Dir mal, wie Dein Formular jetzt aussieht, wenn es beim Browser ankommt. (vereinfacht)
                Code:
                <form name="platzuebersicht" action="" method="post">
                  <input type="hidden" name="IDPlatz" value="1">
                  1, Platz1, Club1, Ort1
                  <input type="submit" name="delete" value="l&ouml;schen" />
                  2, Platz2, Club2, Ort2
                  <input type="submit" name="delete" value="l&ouml;schen" />
                  3, Platz3, Club3, Ort3
                  <input type="submit" name="delete" value="l&ouml;schen" />
                </form>
                Wenn man einen der Buttons drückt, wird das gesamte Formular abgeschickt. Egal welchen Button man drückt, es wird immer <input type="hidden" name="IDPlatz" value="1"> abgeschickt.

                Kommentar


                • #9
                  ich hatte mal paar mins langeweile;
                  versuch mal, ob das funktioniert:

                  PHP-Code:
                  <?php
                  require_once('../Connections/golf.php');

                  error_reporting(E_ALL);

                  $abfrage "SELECT * FROM tbl_platz ORDER BY Platzname ASC";
                  $ergebnis mysql_query($abfrage)or die(mysql_error());
                  $row_ergebnis mysql_fetch_assoc($ergebnis);
                    
                  if (isset(
                  $_POST['delete'])){ 
                    
                  mysql_query("DELETE FROM tbl_platz WHERE IDPlatz=".$_POST['delete'])or die(mysql_error());
                  }

                  $xhtml '<html>
                  <body>'
                  ;

                  while (
                  $row_ergebnis mysql_fetch_assoc($ergebnis))
                  {
                    
                  $xhtml .= '<tr> 
                      <td class="Stil14">'
                  .$row_ergebnis['IDPlatz'].'</td> 
                      <td class="Stil14">'
                  .$row_ergebnis['Platzname'].'</td> 
                      <td class="Stil14">'
                  .$row_ergebnis['Club'].'</td>
                      <td class="Stil14">'
                  .$row_ergebnis['Pl_Ort'].'</td>
                      <td class="Stil12 Stil13">
                        <form action="'
                  .$_SERVER['PHP_SELF'].'" method="POST">
                          <input type="hidden" name="details" value="'
                  .$row_ergebnis['IDPlatz'].'" />
                          <input type="submit" value="Details anzeigen" />
                        </form>
                      </td>
                      <td>
                        <form action="'
                  .$_SERVER['PHP_SELF'].'" method="POST">
                          <input type="hidden" name="delete" value="'
                  .$row_ergebnis['IDPlatz'].'" />
                          <input type="submit" value="l&ouml;schen" />
                        </form>
                      </td>
                      <td>
                        <a href="edit_platz.php"><img src="../Pics/edit.png" alt="edit" width="21" height="21" border="0" /></a>
                      </td> 
                    </tr>'
                  ;
                  }

                  $xhtml .= '</table>
                  </form>
                  </body>
                  </html>'
                  ;

                  print(
                  $xhtml);
                  ?>
                  mfg, martin

                  Kommentar


                  • #10
                    Sauberes Ding. So funzt es.

                    Danke!!!!

                    Kommentar

                    Lädt...
                    X