kostenloser Webspace werbefrei: lima-city


Durch klick auf Button soll Zeile aus Datei gelöscht werden

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    ultimate-bravery

    ultimate-bravery hat kostenlosen Webspace.

    Hallo.

    Ich habe eine Textdatei wo einige Sachen drin stehen. Die einzelnen Zeilen sind so ausgefiltert:
    $datei = "textdateien/s_spieler.txt";
    $zeilen = file($datei);

    Jetzt soll eine bestimmte Zeile gelöscht werden. Das mache ich so:
    unset($zeilen[2]);
    
    $handle = fopen($datei, 'wb');
    fwrite($handle, implode('', $zeilen));
    fclose($handle);

    In diesem Fall wird die Zeile 2 (unset($zeilen[2]) gelöscht. Die Zeile, die gelöscht werden soll, soll allerdings durch einen Benutzer bestimmt werden.
    Das heißt, es soll ein Textfeld geben, wo man die Nummer der Zeile eintragen kann. Diese Zahl soll in einer Variable $zahl gespeichert werden. Durch einen klick auf einen Button soll dann die zeile[$zahl] gelöscht werden.

    Wie mache ich das?

    Könnte ich diesen Code nehmen:
    $datei = "textdateien/s_spieler.txt";
    
    $zeilen = file($datei);
    unset($zeilen[$zahl]);
    
    $handle = fopen($datei, 'wb');
    fwrite($handle, implode('', $zeilen));
    fclose($handle);

    Wenn ja, wie muss ich den Button einstellen, sodass er diesen Code ausführt?

    Oder wie würde das mit onclick gehen?

    Ich hoffe ihr versteht mich ;)
    Liebe Grüße
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Nur dein Code zusammengesetzt:
    <form method="post">
    <input type="text" name="nr" placeholder="Zeile" />
    <input type="submit" name="submit" value="X" />
    </form>
    
    <?php
    if(isset($_POST['nr'])) {
    	$zeile = $_POST['nr'] - 1; // weil du mit Zeile 1 $zeilen[0] meinst
    	$datei = "textdateien/s_spieler.txt";
    
    	$zeilen = file($datei);
    	unset($zeilen[$zeile]);
    
    	$handle = fopen($datei, 'wb');
    	fwrite($handle, implode('', $zeilen));
    	fclose($handle);
    
    	echo('gelöscht!');
    } ?>
  4. @hackyourlife: Es geht hier um eine AJAX Variante.


    Zum Thema:

    Das Ganze funktioniert mit AJAX.
    Ich würde dir empfehlen, dass du jQuery als Framework verwendest, damit du das Rad nicht selbst erfinden musst.
    Dann kannst du mit dem onClick diese Funktion verwenden:
    http://api.jquery.com/jQuery.post/

    $.post("test.php", { zeile: "25" },
       function(data) {
         alert(" Zeile gelöscht ");
       });


    Um die Zeile aus der HTML Datei direkt auszublenden kannst du diese Funktion nutzen:
    http://api.jquery.com/fadeOut/
    Das Ganze führst du dann in der Funktion oben aus.

    $.post("test.php", { zeile: "25" },
       function(data) {
         $('#zeile25').fadeOut();
       });


    Vorausgesetzt, dass jede Zeile mit einer ID a la zeileXXX ausgestattet ist.

    Das Ganze noch in eine Funktion packen:

    function loescheZeile($num)
    $.post("test.php", { zeile: $num },
       function(data) {
         $('#zeile'+$num).fadeOut();
       });
    }


    Dann kannst du ganz bequem beim onclick die Funktion aufrufen loscheZeile(25); :)

    Beitrag zuletzt geändert: 28.6.2012 11:03:15 von sneppa
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!