[SQL allgemein] SQL BEFEHL via Link oder Button ausfuren

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

  • [SQL allgemein] SQL BEFEHL via Link oder Button ausfuren

    Hallo an Alle,

    ich arbeite noch nicht sehr lange mit PHP und habe jetzt folgendes
    Problem:

    Ich möchte mit hilfe eines Links oder Buttons auf einer Webseite eine
    Zeile aus einer MySQL Tabelle Löschen den SQL/PHP Code dafür habe ich ja. ( )
    PHP-Code:
     <?php
        $query_linedel 
    "DELETE FROM $tabelle WHERE id = $id";
                  
    mysql_query$query_linedel ) OR DIE(" ".mysql_error());
    ?>
    Diser code befindet sich in einer seperaten datei (delete.php). ist per
    include verlinkt

    kann mir jemand den quellcode für diesen Link oder Button bitte
    geben / viel auch ein wenig erläutern??


    Danke im voraus
    Zuletzt geändert von dertipi; 21.02.2006, 12:33.

  • #2
    Re: [SQL allgemein] SQL BEFEHL via Link oder Button ausfuren

    http://tut.php-q.net/get.html
    http://php-faq.de/q/q-variable-uebergeben.html

    Und wichtig: http://www.php.net/manual/de/securit...-injection.php
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Danke habe aber gleich das nächste problem

      gehe mal davon aus die zeile
      PHP-Code:
      echo "<a href=\"$PHP_SELF?var=$wech\">L&ouml;schen</a>"
      ist so richtig.


      PHP-Code:
      $id ".$eintrag->id.";
      $wech mysql_query("DELETE FROM results_4m WHERE `id` = '$id'")  OR DIE(" ".mysql_error()); 
      sollte ja so auch stimmen, oder?


      PHP-Code:
      .$eintrag->id
      kommt von:

      PHP-Code:
      $abfrage = @ mysql_query("SELECT * FROM results_4m ORDER BY id DESC")
      or die(
      "Konnte den SELECT-Befehl nicht ausführen!!!");
              while(
      $eintrag mysql_fetch_object($abfrage)) {
                              
      echo 
      "eine HTML tabelle mit den ausgelesenem Inhalt der SQL Tabelle"

      $id ".$eintrag->id.";
      $wech mysql_query("DELETE FROM results_4m WHERE `id` = '$id'")  OR DIE(" ".mysql_error());
      echo 
      "<a href=\"$PHP_SELF?var=$wech\">L&ouml;schen</a>";
      }

              @
      mysql_free_result($abfrage);
              @
      mysql_close(); 
      Das Problem ist jetzt: Er bringt keine Fehlermeldung tut aber
      den entsprechenden datensatz nicht löschen. weis jemand woran das liegt?


      Bin für jegliche hilfe dankbar wäre aber lieb wenn ich nicht
      wieder nen link bekomme bin denke ich auch aus der
      antwort des richtigen quellcodes dankbar.

      Habe den Fehler auch denke ich eingegrenzt: Vermute er liest die id
      nicht aus doch wie kann ich diese noch anders übergeben?



      [COLOR=orangered]PS: Habe mich leider dazu übereden
      lassen für unseren Verein eine Homepage zu gestallten als ich ja
      sagte und mir weitere wünsche gesagt wurden, merkte ich das ich
      mit HTML und ASP da nicht viel weiter komme. und in PHP hatte ich
      bis jetzt nur ein paar grundkentnisse
      [/COLOR]
      Zuletzt geändert von dertipi; 21.02.2006, 12:36.

      Kommentar


      • #4
        Re: Danke habe aber gleich das nächste problem

        Original geschrieben von dertipi
        Das Problem ist jetzt: Er bringt keine Fehlermeldung tut aber den entsprechenden datensatz nicht löschen. weis jemand woran das liegt?
        Lies das, was du dem Titel Erst lesen: Posten von Problemen zufolge schon vorher hättest lesen sollen - da steht auch was zu MySQL-Problemen drin.

        Außerdem wiess ich dich auf das Umbrechen zu langer Quellcode-Zeilen schon im voraus hin - das holst du jetzt für dein letztes Posting erst mal über die Editier-Funktion nach!
        Bin für jegliche hilfe dankbar wäre aber lieb wenn ich nicht wieder nen link bekomme bin denke ich auch aus der antwort des richtigen quellcodes dankbar.
        Und wir sind immer dankbar, wenn die Leute selber denken.
        Tipps, Ansätze und Links gibt's hier gerne - aber die weitere Arbeit muss dann erst mal wieder von dir kommen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Das mit den Umbrüchen habe ich leider Vergessen, sorry.

          Erst lesen: Posten von Problemen :

          Habe ich gelesen und daraus entnommen das ich

          PHP-Code:
          error_reporting(E_ALL); 
          und

          PHP-Code:
          $result mysql_query('euer SQL'
            or die(
          mysql_error().'<hr />'.'euer SQL'.'<hr />'); 
          benutzen soll:

          Das tue ich. Aber wie schon gesagt:
          Das Problem ist jetzt: Er bringt keine Fehlermeldung tut aber
          den entsprechenden datensatz nicht löschen. weis jemand woran das liegt?

          Mit selber übelegen bin ich noch nicht viel weiter gekommen.
          Ich wes das es geht wenn ich
          PHP-Code:
          $wech mysql_query("DELETE FROM results_4m WHERE `id` = '1'")  
          OR DIE(
          " ".mysql_error()); 
          Statt:

          PHP-Code:
          $wech mysql_query("DELETE FROM results_4m WHERE `id` = 
          '
          $id'")  OR DIE(" ".mysql_error()); 
          (oder eine andere vorhandene "id") da geht es ja, habe aber noch
          nicht rausbekommen wie ich die "id" übergebe
          PHP-Code:
          $id ".$eintrag->id."
          ist aber die einzuge möglichkeit die ich kenne innerhalb der
          Schleife die werte auszulesen.

          (Schleife in meinem Letzten POSTING)


          Wäre also für einen Hinweis oder eine andere Variante des auslesen
          Dankbar da ich im PHP Handbuch noch nicht fündig wurde.


          Danke
          Zuletzt geändert von dertipi; 21.02.2006, 12:35.

          Kommentar


          • #6
            Code:
            $id = ".$eintrag->id.";
            was sind das für komische sonderzeichen um die variable drum herum?

            Kommentar


            • #7
              ja die müssen weg habe ich schon gesehen jetzt geht das löschen
              zwar aber es werden alle zeilen gelöscht. bekomme hier noch ne kriese

              Kommentar


              • #8
                tja. und jetzt?

                Kommentar


                • #9
                  jetzt weis ich noch immer nicht wie ich den aktuellen wert für die id des Datensatzen in den link zum löschen bekomme

                  hier nochmal die denke ich relevanten zeilen
                  PHP-Code:
                  $id $eintrag->id;
                  echo 
                  "$id";
                  $wech mysql_query("DELETE FROM results_4m WHERE `id`= '$id' ");
                  echo 
                  "<a href=\"$PHP_SELF?$wech\">L&ouml;schen</a>"
                  in der echo zeile stimmt die ID ja noch aber wenn ich dann auf löschen
                  klicke werden alle zeilen der tabele gelöscht.


                  hast du ne idee woran das liegen kann (Die schleife der seite ist oben
                  schonmal gepostet)
                  Zuletzt geändert von dertipi; 21.02.2006, 02:09.

                  Kommentar


                  • #10
                    Original geschrieben von dertipi
                    PHP-Code:
                    $wech mysql_query("DELETE FROM results_4m WHERE `id`= '$id' ");
                    echo 
                    "<a href=\"$PHP_SELF?$wech\">L&ouml;schen</a>"
                    mysql_query liefert dir im Erfolgsfalle eine sog. Resource-ID zurück - diese in den Link einbauen zu wollen, ist Unfug.

                    Informiere dich also zzunächst, wie man die Ergebnisse von MySQL-Abfragen verarbeitet. Die Seiten hinter den Links, die du zuerst von mir bekommen hast, eignen sich dafür sicher.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Sorry falls ich mich in meiner Grundfrage fals Ausgedrückt habe aber ich
                      glaube wir reden an einander Vorbei.

                      Ich möchte mittels eines Mausklicks eine Zeile aus einer SQL Tabelle
                      Löschen. aber nur die eine mit der Bestimmten id:

                      Like:
                      PHP-Code:
                      $linedel "DELETE FROM $tabelle WHERE `id` = '$id'";
                                
                      mysql_query($linedel$connect)  OR DIE(" ".mysql_error()); 
                      Im moment muss ich das noch mit 2 Seiten machen was so aussieht:

                      Datei Mit den Inhalten der Tabbele:
                      PHP-Code:
                      echo "<a href=\"http://www.sv-rositz.de.tp/admin/delete_4m.
                      php?id=
                      $id&tabelle=
                      $tabelle\">L&ouml;schen</a>"

                      Was ja auch problemlos Funktioniert

                      und der im Link folgendem:
                      PHP-Code:
                      <br>
                      <?php
                      echo "$id";
                          
                      $linedel "DELETE FROM $tabelle WHERE `id` = '$id'";
                                
                      mysql_query($linedel$connect)  OR DIE(" ".mysql_error());
                      ?>
                      <H1 align="center">Der gewählte Datensatz wurde gelöscht</H1>
                      <table border="0" width="100%" id="table1">
                          <tr align="center">
                              <td width="33%"><a href="javascript:history.back();">Zurück</a></td>
                              <td><a href="http://www.sv-rositz.de.tp/mainframe.htm" 
                      target="mainframe">Startseite</a></td>
                              <td width="33%"><a href="javascript:history.forward();">Vor</a></td>
                          </tr>
                      </table>
                      Zuletzt geändert von dertipi; 21.02.2006, 12:38.

                      Kommentar


                      • #12
                        ich nehme an, deine spalte `id` ist vom typ int? dann lass die apostrophe weg.

                        teste die query mit pma.

                        lass dir die query ausgeben, so, wie sie an die db geht.

                        Kommentar

                        Lädt...
                        X