Ankündigung

Einklappen
Keine Ankündigung bisher.

datenbankzeilen löschen funktioniert erst nach aktualisieren

Einklappen

Neue Werbung 2019

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

  • datenbankzeilen löschen funktioniert erst nach aktualisieren

    Hallo zusammen,

    wahrscheinlich habe ich ein ziemlich simples Problem, aber alles googeln und Foren durchsuchen hat bisher nich so richtig weiter geholfen.

    ich habe eine webseite, bei deren Aufruf eine Datenbanktabelle per select ausgelesen wird. Die Daten werden dann in einer for-Schleife zeilenweise dargestellt. Jede Zeile hat einen Löschen Button.
    Beim Klicken auf den Button soll die Zeile gelöscht werden (bzw. wird in der BD nur ein update durchgeführt, aber die Zeile soll halt auf der Webseite nicht mehr angezeigt werden).
    Das Problem an der Sache ist, dass zwar gelöscht wird, aber dies erst nach dem Aktualisieren der Seite angezeigt wird.
    Ich verstehe auch WARUM das so ist, denn ich frage erst nach dem SELECT ab, ob ein Button geklickt wurde. Leider weiss ich es anders nicht umzusetzen

    PHP-Code:
    <?PHP
            
    include 'DBzugang.txt';
            require 
    'DB.class.php';
        
            
    $db = new DB();    
            
    $db->connect(SERVER$user$pw$datab);

            
    $query "SELECT id, moderator, conf_name, start_time, end_time, user_pin FROM conference WHERE status ='ACTIVE'";        
            
    $sth $db->selectStart($query);

            
    $num_rows $db->numberOfSelectedRows$sth ); //Anzahl der Zeilen

            
    for( $i=0$i<$num_rows$i++ ) {
            
                
    $row $db->selectNextRowHash$sth );
                
    $id $row[id];

                
    // debug output
                
    if( defined'DEBUG' ) ){
                    
    print_r$row ); // print_r gibt hash / array aus
                
    }
                
                
    //dynamisches Erzeugen des Formulars mit ausgelesenem Inhalt 
                
    foreach ($row as $key => $value) {
                    echo 
    "<TD><INPUT TYPE=\"text\" NAME=\"text1\" SIZE=\"10\" MAXLENGTH=\"20\" VALUE=\"$value\" readonly></TD>";     
                }
                
    //Erzeugung der Buttons zum loeschen, bei druecken soll sich die Seite selbst wieder aufrufen
                
    echo "<form action='uebersicht.php' method=get><TD><input type=\"submit\" name=\"submit$i\" value=\"loeschen\"></TD></form>";
                echo 
    "</TR>";    
                
                
    //Abfrage, ob auf einen Button geklickt wurde
                
    if (isset($_REQUEST['submit'.$i])) { 
                    
    //echo "Konferenz wurde gel&ouml;scht";
                    
    $abfrage "UPDATE conference SET status ='IDLE' WHERE id='$id'"
                    
    $num $db->query($abfrage); 
                }
            }
    ?>
    ich muss also die Abfrage mit isset bereits ganz am Anfang machen, aber wie komme ich dann an $id (brauche ich für die Update-Bedingung) ran???
    Bitte um Hilfe.....


  • #2
    Wenn Du auf den submit button drückst, wird das Skript auf dem Server neu aufgerufen. Das Skript läuft also von Anfang an mit den Werten des aktuellen Aufrufs. Schau Dir mal an, was da wann übergeben wird.
    PHP-Code:
    <?PHP
    require 'DBzugang.txt';
    require 
    'DB.class.php';

    echo 
    '<pre>Zeit:'date('H:i:s'), "\n_REQUEST:";
    var_dump($_REQUEST);
    echo 
    '</pre>';

    $db = new DB();
    // ...

    Kommentar

    Lädt...
    X