2016-04-20 3 views
-1

Ich habe ein Eingabeformular um Daten in eine MySQL Datenbank zu posten (mit einem Submit Button) und es funktioniert gut. Jetzt möchte ich bearbeiten, nächste & vorherige Schaltflächen darauf, um nächste und vorherige Aufzeichnung und auch um sie zu bearbeiten, wenn nötig.Wie bekomme ich Add, Edit, Next & Previous Buttons im HTML Formular

Ich habe im Internet gesucht, konnte aber keine Lösung gemäß meiner Anforderung finden.

+0

Nächste und vorherige Taste für was? Für die Bearbeitung möchten Sie eine PHP-Datei erstellen und diese über Ajax aufrufen. Wenn ein Benutzer auf Bearbeiten klickt, wird seine ID zusammen mit den Änderungen an diese PHP-Datei gesendet. –

Antwort

0

Zunächst sollten Sie sicherstellen, dass Sie eine Spalte für die Datensatz-ID haben, die eine INTEGER ist, eine PRIMARY KEY, und auf AUTOINCREMENT, nennen wir diese `RecordID`.

Nehmen wir ein Beispiel Person Tabellenschema nehmen:

CREATE TABLE people (
    recordID INTEGER PRIMARY KEY AUTOINCREMENT, 
    firstName VARCHAR(140) NOT NULL, 
    middleNames VARCHAR(250), 
    lastName VARCHAR(140) NOT NULL, 
    dateOfBirth DATE NOT NULL 
); 

den ersten Datensatz abzufragen, was wir tun können:

SELECT * FROM people WHERE recordID = 1; 

nun den Datensatz zu bearbeiten, was wir tun können:

UPDATE people SET firstName="NewName" WHERE recordID = 1; 

Als nächstes erstellen wir ein HTML-Formular, um diese Daten anzuzeigen/zu bearbeiten.

Zuletzt erstellen Sie einige nächste und vorherige Schaltflächen zum Durchlaufen der Datensätze und füllen die Eingabefelder, und dann eine Bearbeitungsschaltfläche, die die Daten an den Server sendet, um die Datenbank zu aktualisieren. Wenn Sie sich extravagant fühlen, können Sie SQL INSERT INTO ... ON DUPLICATE KEY UPDATE verwenden. Z.B .:

INSERT INTO people (firstName, lastName, middleNames, dateOfBirth) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE firstName="?", lastName="?", middleNames="?", dateOfBirth="?"; 

Um eine "in-place bearbeiten" zu tun, könnten Sie eine Variable zur Abfragezeichenfolgeflag hinzuzufügen. Wenn Sie zum Beispiel DatensatzID = 3 bearbeiten möchten, können Sie die URL wie folgt eingeben: http://yourserver.com/person/?id=3&edit.

Auf der Serverseite können Sie mithilfe von isset($_GET['edit']) nach Edit suchen. Wenn dies wahr ist, führen Sie den Bearbeitungscode aus und füllen Sie die Felder/aktivieren Sie die Bearbeitungsfunktion.

+0

Sehr geehrter Herr Huw, ich habe eine Tabelle mit ID Integer als Primärschlüssel und Autoinkrement. Mein HTML-Formular fügt Werte mit einer Übermittlungsschaltfläche ein. Ich habe eine andere Taste "vorheriger" platziert, die eine andere PHP-Datei aufruft, aber ich weiß nicht, wie eine andere PHP-Datei Werte in der gleichen Form auffüllen wird. –

+0

Kopieren oder fügen Sie das Formular ein oder verwenden Sie eine '$ _GET'-Variable wie'? Edit' und überprüfen Sie, ob Sie gerade bearbeiten. Ich habe meine Antwort aktualisiert, also lassen Sie mich wissen, ob das hilft. –

Verwandte Themen