tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
327
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Shinzo Shinzo ist offline Mitglied Silber
    Registriert seit
    Mar 2003
    Beiträge
    76
    Hallo ich habe ein Editier-Script erstellt,

    klappt wunderbar ohne Probleme, unten wird ein echo Befehl "Daten erfolgreich geändert" wiedergegeben.

    Ich möchte nun, dass die Daten im Formular sofort, nach dem Submit geändert/also aktuallisiert werden. Nach dem neusten Stand gebracht werden.

    Hier das Script:

    PHP-Code:
    <?

        $db 
    mysql_connect($dbhost$dbuser$dbpassword); 
        
    mysql_select_db($dbase,$db);

        
    $sql "SELECT * FROM reviews WHERE id = '$id'";
        
    $resultat mysql_query ($sql);
        
    $modif mysql_fetch_array ($resultat);

    ?>
    <table border="0" width="100%" cellspacing="2" cellpadding="3" border="0">
      <tr>
        <td width="100%" bgcolor="#FFFFFF"><b><a href="admin/index.php">Admin Control Panel</a> > Review editieren/löschen</b></td>
      </tr>
      <tr>
        <td width="100%">

          <form method="post" action="edit_review.php?id=<?php echo $modif['id']; ?>">
           <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
        <tr>
            <td width="100">Art:</td>
            <td><select name="art" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"><option>Anime</option>
        <option>Manga</option><option>Game</option></select></td>
          </tr>
         <tr>
            <td width="100">Name:</td>
            <td><input name="name" type="text" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma" value="<?php echo $modif['name']; ?>"></td>
          </tr>
          </tr>
         <tr>
            <td width="100">Genre:</td>
            <td><select value="<?php echo $modif['genre']; ?>" name="genre" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma">
        <option>Action</option><option>Hentai</option><option>Abenteuer</option>
        <option>Fantasy</option><option>Fiction</option></td>
          </tr>
         <tr>
            <td width="100">Einleitung:</td>
            <td><textarea value="<?php echo $modif['einleitung']; ?>" rows="6" name="einleitung" cols="50" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"><?php echo $modif['einleitung']; ?></textarea></td>
          </tr>
          <tr>
            <td>Hauptteil:</td>
            <td><textarea rows="10" value="<?php echo $modif['hauptteil']; ?>" name="hauptteil" cols="50" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"><?php echo $modif['hauptteil']; ?></textarea></td>
          </tr>
           <tr>
            <td>Schluss/Eigene Meinung:</td>
            <td><textarea rows="5" name="schluss" cols="50" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"><?php echo $modif['schluss']; ?></textarea></td>
          </tr>
          <tr>
       <tr>
            <td>Bewertung(Punkte):</td>
            <td><select value="<?php echo $modif['bewertung']; ?>" name="bewertung" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma">
        <option>10</option><option>9</option><option>8</option>
        <option>7</option><option>6</option><option>5</option><option>4</option><option>3</option>
        <option>2</option><option>1</option></select></td>
          </tr>
          </tr>
         <tr>
            <td width="100">Verlag:</td>
            <td><input value="<?php echo $modif['verlag']; ?>" name="verlag" type="text" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"></td>
          </tr>
          <tr>
            <td valign="top">FSK Freigabe(Jahre):</td>
            <td><select value="<?php echo $modif['fsk']; ?>" name="fsk" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma">
        <option>12</option><option>14</option><option>16</option>
        <option>18</option></td>
          </tr>
         <tr>
            <td width="100">Bild:</td>
            <td><input value="<?php echo $modif['bild']; ?>" name="bild" type="text" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"></td>
          </tr>
        <tr>
            <td width="100">Offizielle Webseite:</td>
            <td><input value="<?php echo $modif['homepage']; ?>" name="homepage" type="text" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"></td>
          </tr>
        <tr>
            <td width="100">Art:</td>
            <td><select name="action" style="COLOR: ahoma"><option value="edit_review"> Editieren</option><option value="delete_review"> Löschen</option></select>
          </td>
          </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="submit" value="Speichern" style="COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Tahoma"></td>
          </tr>
        </table>
      </form>

    <?

            
    if ($action == "edit_review")
        {
            if (
    strlen($name) < 0)
                {
                echo(
    "<center><b>Name eingeben!<br>");
                }
            else
                {
        
    $query = ("UPDATE reviews SET art='$art', name='$name', genre='$genre', einleitung='$einleitung', hauptteil='$hauptteil', schluss='$schluss', bewertung='$bewertung', verlag='$verlag', fsk='$fsk', bild='$bild', homepage='$homepage' WHERE id = '$id' ");
        
    $result mysql_query($query);
        echo(
    "<font size=\"2\" face=\"Verdana\"><b>» Das Editieren war erfolgreich!</b></font>");
            }
        }
        

        elseif (
    $action == "delete_review")
        {

        
    $loeschen = ("DELETE FROM reviews WHERE id=$id ");
        
    $result2 mysql_query($loeschen$db);

        echo(
    "<font size=\"2\" face=\"Verdana\"><b>» Das Löschen war erfolgreich!</b></font>");
        }
    ?>

    </td>
    </tr>
    </table>
    Gibst da ne kleine gute Lösung oder muss ich das irgendwie anders machen, um die Daten sofort erneuern zu lassen?

    Ich danke im Voraus!
     

  2. #2
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Im Moment wird die Meldung "Das Editieren war erfolgreich!" ausgegeben. Du willst aber stattdessen, dass dann wieder die Daten (nur eben die aktuellen) angezeigt werden, oder?

    Du könntest eine neue Datei schreiben, in der nur das Script zum Editieren steht. Anschließend kannst du die neuen Daten per Header (also automatischer Weiterleitung) aufrufen:
    PHP-Code:
    <?php
    //Dein Script zum Editieren der Daten
    header("Location: index.php?id=".$id); //index.php oder wie die Datei eben heißt, in der die Daten angezeigt werden
    ?>
    In der Datei muss das <?php in der ersten Zeile stehen, da sonst der Header nicht gesendet werden kann (Denn dieser muss als erstes gesendet werden). Deshalb musst du zum Editieren eine neue Datei erstellen.
    Ich hoffe ich konnte helfen.
    Geändert von split (03.01.04 um 15:24 Uhr)
     

  3. #3
    Shinzo Shinzo ist offline Mitglied Silber
    Registriert seit
    Mar 2003
    Beiträge
    76
    Damit mach ich praktisch ne Umleitung ja?
     

  4. #4
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Ja, nur dass im Browser keine Seite dazwischen erscheint. Der User bekommt von der Weiterleitung nichts mit.
     

  5. #5
    Shinzo Shinzo ist offline Mitglied Silber
    Registriert seit
    Mar 2003
    Beiträge
    76
    Besten Danke, klappt wunderbar!
    Geändert von Shinzo (03.01.04 um 16:09 Uhr)
     

  6. #6
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Alles klar!
    Freut mich dass ich dir helfen konnte.

    mfg
    split
     

  7. #7
    Shinzo Shinzo ist offline Mitglied Silber
    Registriert seit
    Mar 2003
    Beiträge
    76
    Danke schon gut, lag an mir ... hab im UPDATE Teil nich die felder defeniert(habs für mehrere bereiche das gleiche script, und am anderen getestet, und da waren die noch nich definiert ), die geändert werden sollten , klappt jetzt wunderbar ! Danke!

    Noch ne kleine Frage:

    Kann man dann auch einen Echo Befehl übergeben, dass es "Erfolgreich bearbeitet wurde" oder es "Erfolgreich gelöscht wurde" ?
    Geändert von Shinzo (03.01.04 um 16:33 Uhr)
     

  8. #8
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Mit dem Header kannst du keine Befehle senden. Allerdings kannst du es so versuchen:

    Du könntest im Header folgendes hinzufügen:
    PHP-Code:
    <?php
    //Dein Code zum Editieren
    header("Location: index.php?id=".$id."&q=yes");
    ?>
    Dann musst du in der "Datenübersicht" an der Stelle an der du die Meldung "Erfolgreich editiert" haben willst, folgendes hinzufügen:
    PHP-Code:
    <?php
    //die gewünschte Stelle
    if(isset($q) AND $q == "yes") {
        echo 
    "Erfolgreich editiert";
    }
    ?>
    Die Meldung wird also angezeigt, wenn der Header gesendet wurde, sprich wenn du etwas editiert hast.

    mfg
    split

    //EDIT: So kannst du es natürlich auch beim Löschen machen
     

  9. #9
    Shinzo Shinzo ist offline Mitglied Silber
    Registriert seit
    Mar 2003
    Beiträge
    76
    Ok, vielen Dank.
     

Ähnliche Themen

  1. Formular bzw. Daten per POST ohne Refresh abschicken
    Von xtramen01 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 22.05.10, 23:36
  2. Antworten: 8
    Letzter Beitrag: 24.07.09, 07:16
  3. Antworten: 2
    Letzter Beitrag: 28.06.07, 11:36
  4. Caching - Daten sofort abschicken u. ausgeben
    Von Sturmrider im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 03.02.07, 13:39
  5. Formular nach x Sekunden abschicken
    Von schiese im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 30.12.05, 14:35