• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Einfaches Syntaxproblem

Das Problem an der Idee ist, dass man ein Formular nicht in eine Tabelle einbauen kann ohne die Tabelle im HTML-Code kaputt zu machen.
 
Werbung:
Okay, aber es muss doch machbar sein mehrere MySQLeinträge untereinander anzuzeigen, sie zu editieren und dann nur eine Zeile davon auch zu speichern. Eigentlich ist das eine normale Tabellenfunktion.
 
hallö,

das mit der id ist eine moglichkeit, aber alle an zu zeigen macht kaum sin und ist unnötige last beim speichern.
die Daten werden dann als Array geschickt und das Speicher teilt das hält wieder in Zeilen.

cheffchen
 
Werbung:
Eigentlich ist das eine normale Tabellenfunktion.

Nein, Tabellen haben keine Funktionen. Tabellen dienen dazu tabellarische Inhalte semantisch korrekt auszugeben. Mehr nicht.

Was Du willst, kannst Du z.B. so erreichen, dass Du in der Tabelle bei jedem Datensatz/jeder Zeile einen Bearbeiten-Button einfügst. Dieser führt per Link auf ein Bearbeitungsformular oder Du lädst beim Anklicken des Buttons per AJAX und JavaScript ein Flyout zum Bearbeiten der Daten nach.

Alternative wäre natürlich noch das umgeben der gesamten Tabelle mit einem Formular. In dem Fall könntest Du entweder alle Datensätze/alle Zeilen gleichzeitig bearbeiten lassen oder durch Verwendung von Buttons in jeder Zeile mit entsprechendem Namen serverseitig die Speicherung eines konkreten Datensatzes/einer Zeile veranlassen. Beispiel für letzteres:

In der Ausgabe:
PHP:
<button type="submit" name="datensatz<?php echo $row["ID"]; ?>" value="1">Speichern</button>

Bei der Verarbeitung prüfst Du dann, welcher Button angeklickt wurde indem Du einmal durch die Liste aller Datensätze gehst und einzeln prüfst:
PHP:
if( isset($_POST["datensatz".$row["ID"]]) ) {
 /* Hier dann die Speicherung */
}

So oder so - es gibt viele mögliche Vorgehen für diese Speicherung. Du musst Dich primär für das entscheiden was für dich am praktikabelsten ist. Und bei der Umsetzung dann natürlich mit validem HTML-Code arbeiten.
 
Zurück
Oben