Oliver: onclick mit sql abfrage

Hallo und schön Guten Morgen,

ich habe folgende Herausforderung:
Ich habe eine mysql Datenbankabfrage mit php. In einer html Tabelle bekomme ich meine Datensätze angezeigt. Vor den Datensätzen habe ich einen Radio-Button, wenn der angeklickt wird, kommt eine Alert-Meldung. Bis dahin klappt ja alles super. Jetzt möchte ich:
a) dass in der Message Box OK und Abbrechen erscheint.
b) dass wenn ich auf OK klicke der Datensatz auch per SQL-gelöscht wird.

Ich habe von Javascript nicht so die Ahnung, geht dass überhaupt so??

Gruss
Oliver

PS: so ist es bis jetzt:
print "<tr> <td><input type='radio' name='loeschen'";
print " value='$KategorieID' onclick='alert("Die Kategorie $Kategorie wird gel&ouml;scht, wenn Sie auf OK klicken.")'></td> <td>$Kategorie</td>";

  1. Hallo Oliver,

    es handelt sich um einen geschützten Bereich, hoffe ich?

    a) dass in der Message Box OK und Abbrechen erscheint.

    Das erreichst Du mittels confirm().

    b) dass wenn ich auf OK klicke der Datensatz auch per SQL-gelöscht wird.

    ...dazu mußt Du im Erfolgsfall Deiner unter a) gemachten Frage Dein Formular absenden.

    Ich habe von Javascript nicht so die Ahnung, geht dass überhaupt so??

    Das, was Du möchtest geht. Das löschen Deiner Einträge muß natürlich wieder durch ein serverseitiges Script passieren.

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein
    1. Hallo Micha,

      dass höhrt sich mit dem confirm ja gut an, und sieht auch einfach aus. Ich habe da aber trotzdem irgendwie ein Problem mit.

      Im Moment versuche ich dass so:
        $queryKat = mysql_query("Select KategorieID, Kategorie
                          from tblkategorie");

      $resultKat = mysql_num_rows($queryKat);
        print "<table>";
        print "<tr>";
        print "<td><b>Datensatz <br> l&ouml;schen</b></td>";
        print "<td><b>Kategorie</b></td>";
        print "</tr>";
        for($i=0;$i<$resultKat; $i++)
        {
         $KategorieID = mysql_result($queryKat,$i, "KategorieID");
         $Kategorie = mysql_result($queryKat,$i, "Kategorie");
          print "<tr>";

      print"<script type="text/javascript">";
        print "<tr> <td><input type='radio' name='loeschen' value='$KategorieID' Check='confirm("Wirklich loeschen?")';></td> <td>$Kategorie</td>";
          print "</tr>";
          }
            print " if (Check == false) history.back(); </script>";
          print "</table>";

      Ich habe mal wieder den Wald gepachtet.

      Gruss
      Oliver

      1. hi,

        print "<tr>";

        print"<script type="text/javascript">";
          print "<tr> <td><input type='radio' name='loeschen' value='$KategorieID' Check='confirm("Wirklich loeschen?")';></td> <td>$Kategorie</td>";

        Was willst du mit diesem Code erreichen?

        Du öffnest ein <tr>-Element, dann folgt ein <script>-Element, und darin hast du dann <tr> und <td> stehen - dass das Unfug ist, sollte klar sein.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi,

          ich hatte einfach versucht dass hier aus zu nutzen:
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html><head>
          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
          <title>Test</title>
          <script type="text/javascript">
          Check = confirm("Wollen Sie diese Seite wirklich sehen?");
          if (Check == false)
            history.back();
          </script>
          </head><body>
          <p>Danke, dass Sie diese Seite sehen m&ouml;chten.</p>

          <p><a href="../window.htm#confirm">zur&uuml;ck</a></p>
          </body>
          </html>

          Und hatte dass dann einfach in meine Abfrage geschrieben.
          Und wenn ich ehrlich bin, weiss ich im Moment auch noch nicht wie ich dass dann einbinden kann. Dass es nonsens ist mit den Elementen, gebe ich dir recht. Habe halt nur "rein kopiert". Aber wie dann. Wie kann ich das javascript in mein php bekommen.

          Gruss
          Oliver

          1. hi,

            Wie kann ich das javascript in mein php bekommen.

            Du willst nicht "dein Javascript in PHP bekommen".
            Zu dem Zeitpunkt, wo Javascript läuft - auf dem Client - ist dein PHP-Script - auf dem Server - schon längst beendet.
            Wenn du jetzt im PHP-Script die Lösch-Anweisung drin hast - dann interessiert sich Javascript dafür kein bisschen, und nimmt auch keinerlei Einfluss auf diese.

            Was du stattdessen willst: Vom Client aus eine neue Ressource anfordern, hinter der sich ein Script verbirgt, welches einen Datensatz löscht.
            Dieses anfordern machst du bspw. mit einem simplen Formular.
            Und Javascript kommt dann optional zum Einsatz, um ggf. bereits clientseitig das Abschicken dieses Formulars zu verhindern, so dass nicht gelöscht wird.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }