danke aber!

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

  • danke aber!

    also es geht mir darum wenn ich $php_self stehen lasse öffnet sich das fenster mit der benachrichtigung das die nachricht abgeschickt worden ist und wenn ich zurück gehe steht noch der alte beitrag drin das wollte ich verhindern und wusste nicht wie.des weiteren habe ich noch ein problem ich möchte das die beiträge eine numerierung bekommen die bei löschen eines beitrages sich aktualisieren also vortlaufend.ich bin noch ganz neu in php und weiss mir nicht sehr zu helfen ich schicke dir die skripte mit zu wenn du mir helfen könntest wo ich etwas verändern muss wäre ich sehr erfreut.
    danke!!!!!!!!!!!

    formularfeld:
    <html>
    <body>
    <?
    if ($submit) {
    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("kundendb",$db);
    $sql = "INSERT INTO kunden (vorname,name) VALUES ('$vorname','$name')";
    $result = mysql_query($sql,$db);
    echo "Ihr Daten wurden abgeschickt! Vielen Dank!<br><br>";
    }
    else {
    ?>

    <form method="post" action="<? echo $PHP_SELF ?>">
    <table border="0" align="center">
    <tr>
    <td>Vorname</td>
    <td><input type="text" name="vorname" value="<? echo $vorname ?>" size="50"></td>
    </tr><tr>
    <td>Name</td>
    <td><input type="text" name="name" value="<? echo $name ?>" size="50"></td>
    </tr><tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="Abschicken"></td>
    </tr>
    </table>
    </form>
    <?
    }
    ?>
    </body>
    </html>

    ANZEIGE DER TABELLE:

    <html>
    <body>
    <div align="center">
    <h1></h1>
    <?
    //Verbindung herstellen
    $db = mysql_connect("127.0.0.1","root");
    mysql_select_db("kundendb",$db);

    //Daten l&ouml;schen
    if($clear) mysql_query("DELETE FROM kunden WHERE id=$clear",$db);

    // Daten ändern
    if ($edit) {
    if ($submit) {
    $sql = "UPDATE kunden SET vorname='$vorname', name='$name' WHERE id=$edit";
    $result = mysql_query($sql,$db);
    echo "Daten f&uuml;r die ID ".$edit." wurden ge&auml;ndert";
    }
    else {
    $sql = "SELECT * FROM kunden WHERE id=$edit";
    $result = mysql_query($sql,$db);
    $data = mysql_fetch_array($result);
    ?>

    <form method="post" action="<? echo $PHP_SELF ?>">
    <input type=hidden name="edit" value="<? echo $data["id"] ?>">
    <table border="0" align="center">

    <tr><td>Vorname</td><td>
    <input type="text" name="vorname" value="<? echo $data["vorname"] ?>" size="50">
    </td></tr><tr><td>Name</td><td>
    <input type="text" name="name" value="<? echo $data["name"] ?>" size="50">
    </td></tr>

    <tr><td>&nbsp;</td><td>
    <input type="submit" name="submit" value="&Auml;ndern">
    </td></tr></table>
    </form>
    <?
    }
    }
    //Daten auslesen
    $result = mysql_query("SELECT * FROM kunden",$db);
    ?>

    <table border="1" cellspacing="0" cellpadding="3" align="center">
    <tr>
    <td><b>ID</b></td>
    <td><b>Vorname</b></td>
    <td><b>Nachname</b></td>

    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <? while ($daten = mysql_fetch_array($result)) { ?>
    <tr>
    <td><? echo $daten[id]; ?></td>
    <td><? echo $daten[vorname]; ?></td>
    <td><? echo $daten[name]; ?></td>
    <td><a href="<? echo ''.$PHP_SELF.'?clear='.$daten[id].'' ?>">l&ouml;schen</a></td>
    <td><a href="<? echo ''.$PHP_SELF.'?edit='.$daten[id].'' ?>">bearbeiten</a></td>
    </tr>
    <? } ?>
    </table>
    </div>
    </body>
    </html>
    meine email adresse lautet g.zentri@gmx.de



  • #2
    He, du mußt schon deine Antworten zu deinem Thema auch dort plazieren und nicht ein neues Thema anfangen.
    Okay, damit erledigt sich teilweise auch die Antwort von mir im "anderen" Thema.

    Irgendwie sind das doch zwei Skripte, oder?! Zumindest nach dem HTML-Tag zu urteilen.

    Zur Numerierung: wenn du die Numerierung nur bei der Ausgabe brauchst, dann zähle doch in deiner while-Schleife eine Variable hoch, die du als Nummer vorne ausgibst:

    $z=1;
    while ($daten = mysql_fetch_array($result)) {
    <td><? echo $z; $z++; ?>.</td>"
    ...
    }

    deine ID als fortlaufende Nummer kannst du nicht machen bzw. ein bißchen Aufwand. Wenn das Feld ein autoincrement ist, geht's gar nicht. Ansonsten mußt du nach dem Löschen die ganze Tabelle durchackern und die IDs neu vergeben.

    Und was bedeutet das mit "...wenn ich zurück gehe steht noch der alte beitrag drin..." ??? Wie gehst du zurück? Mit Zurück-Button von Browser oder so, also ein history.back() geht das natürlich nicht, da siehst du meist den Browser-Cache, also auch die alten Formulardaten. Mußt die Seite richtig neu aufrufen.

    Ich hoffe, ich konnte dir weiterhelfen. Falls nicht, sag bescheid, was dir fehlt oder wo es hakt.

    Kommentar


    • #3
      $z=1;
      while ($daten = mysql_fetch_array($result)) {
      <td><? echo $z; $z++; ?>.</td>"
      ...
      }
      also ich finde das hier eleganter:

      Code:
      for ($z=1; $daten = mysql_fetch_array($result); $z++) { 
        <td><? echo $z; ?>.</td>" 
        ... 
      }
      Ansonsten hat BrainBug meine volle Zustimmung.
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        Hi Titus,

        hier geht's doch nicht um einen Schönheitswettbewerb! Aber von mir aus...

        Kommentar

        Lädt...
        X