Probleme SQL Daten darzustellen

  • Fangen wir nochmal in der default.php an. Hier hast Du nicht ein Formular, sondern ganz viele. Das würde ich auf ein Formular reduzieren. Statt <button ... > verwende mal <input type="button" ... />

    Hauptpunkt ist die mod_entassen_lspd.php

    Es reicht aus, wenn Du einmal die helper.php einbindest.


    In der If-Frage, ob ein Button geklickt wurde, musst Du natürlich noch die Funktion dazu aufrufen, die Du in der helper.php hast und zusätzlich dazu die ID mit übergeben.


    PHP
    if(!empty($app->input->get('kill_id_lspd'))){
        $id_lspd = (int) $app->input->get('kill_id_lspd');
        modEntlasseMitarbeiter_lspd::loescheIDlspd($id_lspd);
    }

    Zum testen, ob die Variable $id_lspd überhaupt auch die ID erhält, kannst Du ja mal eine Testausgabe in der default.php erzeugen. Ganz oben über der Tabelle schreiben:

    PHP
    <p>Button ID: <?php echo $id_lspd; ?> </p>


    Die Funktion in der helper.php ist Dumm und weiß nix von Deinen Variablen, die sich außerhalb herumtreiben. Daher musst Du der Funktion mit angeben, dass sie beim Aufruf die ID braucht.

    PHP
        public static function loescheIDlspd($usrID) {
            $db   = JFactory::getDBO();
            $db ->getQuery(true)
                ->delete($db->quoteName('#__users'))
                ->where($db->quoteName('id') . ' = ' . $db->quote($usrID));
            $db->execute(); 
       }

    Das ist alles sehr grob ausgelegt bisher ohne Fehlerprüfung, Rückmeldungen usw. Schau Dir am besten mal andere Module, wie diese aufgebaut sind. Da kann man sich viel abschauen.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • danke für die Erklärungen und die Hilfe. Ich habe die jetzt nochmals alles angepasst und festgestellt das die variable hier "

    PHP
    <p>Button ID: <?php echo $id_lspd; ?> </p>

    im default.php nicht definiert ist und auch nicht übergeben wird.


    wenn ich aber dies mache, wird die variable übergeben:


    PHP
    <input type="submit" class="button" name="kill_id_lspd" value="<?php echo $name->id; ?>">


    ich habe hier "submit" anstatt "button" eingegeben.

  • die Variable wird jetzt übergeben. Aber zwischen der SQL function und der mod_datei stimmt was nicht, da die SQL Anweisung nicht ausgeführt wird.


    mod_entlassen_lspd.php

    Code
    if(!empty($app->input->get('kill_id_lspd'))){
        $id_lspd = (int) $app->input->get('kill_id_lspd');
        modEntlasseMitarbeiter_lspd::loescheIDlspd($id_lspd);
    }


    helper.php


    Code
        public static function loescheIDlspd($id_lspd) {
    
            $db   = JFactory::getDBO();
            
            $query  = $db->getQuery(true)
                        ->delete($db->quoteName('#__users'))
                        ->where($db->quoteName('id') . ' = ' . $db->quote($id_lspd));
           
            $db->execute(); 
            }