dipps
Goto Top

PHP inputfelder auslesen

PHP inputfelder auslesen

Hallo ich erstelle mit PHP inptut felder die dann der namen 1234a1 oder 3253a1 und soweiter.Die Zahl vor dem a ist die personalnr ich setzte eine SQL Abfrage und erzeigt mir nur 1 oder 2 Personen an jenachdem wie der Nutzer den Filter setzt so habe ich dann die Inputs[Persnr]a1 bis [Persnr]a53.
nun möchte ich nach dem Daten senden ja wissen mit welchen Personal nr ich oben im PHP weiter arbeiten muss da ich da ein Update machen möchte wo persnr gleich persnr in der DB.

$pernr=$_POST['pernr'];  

sql="UPDATE tabelle SET SET $i='".$_POST[$pernr.'a'.$i]."' WHERE PersNr=$pernr";  

das $i geht von 1 bis 53 das würde ich dann in einer for schleife füllen da habe ich kein Problem das einzige ist nur wie ich die Persnr mit übertragen kann von den einem oder von den mehreren die angezeigt wurden und eventuell änderungen haben.

Content-Key: 159640

Url: https://administrator.de/contentid/159640

Printed on: April 24, 2024 at 01:04 o'clock

Member: dog
dog Jan 28, 2011 at 09:04:39 (UTC)
Goto Top
Du weißt aber schon, dass man PHP aus HTML auch Arrays übergeben kann?

<input type="text" name="res[1234][1]" />  

Abgesehen davon liest du dir jetzt erstmal den Artikel durch: http://de.wikipedia.org/wiki/SQL-Injection
Member: Dipps
Dipps Jan 28, 2011 at 09:18:16 (UTC)
Goto Top
na als input habe ich
<input value='' name='input1175a14' size='1' style='background-color:transparent;'>
als bsp mal kopiert
nun muss ich ja wissen welche PersNr unten gestanden hatt hier die 1175 ich habe ja aber auch ein filter gestzt das er mir alle müller anzeigen soll sprich habe ich mehrere Personal Nr.'n und ich machen zB bei allen da eine änderung gehe auf daten senden und er soll jetzt wissen was er alles für Persnr hatte habe schon überlegt ob ich ein hidden Array machen kann was ich dann oben abarbeite
Member: maretz
maretz Jan 28, 2011 at 10:02:44 (UTC)
Goto Top
Moin,

ganz davon abgesehen das du dir ggf. noch einige Probleme (SQL-Injection) ins Haus holst: WAS möchtest du genau machen?

Das Update verstehe ich nämlich irgendwie nicht wirklich ... Du möchtest das Feld $i (also ein variables Feld) auf den Wert der Personal-Nr. setzen? D.h. du hättest ein Tabellenfeld 12345 und willst da a12345 reinschreiben? Das Layout durchschaue ich noch nicht wirklich... (richtig wäre ja z.B. Set lastlogin=now() where personalnr=$personalnr...)

Finde ich grad etwas verwirrend ....
Member: Dipps
Dipps Jan 28, 2011 at 10:09:50 (UTC)
Goto Top
ich habe in der tabelle 53 spalten mit dem namen 1 und 2 und 3 und 4 ... bis 53 desweiteren habe ich eine spalte mit Personalnr
nun möchte ich was in input[pernr]a1 steht in in spalte 1 schreiben bei der entsprechenden persnr was in input a2 in spalte 2 und soweiter bis 53 und das für alle die ich in meinem <form> habe
Member: maretz
maretz Jan 28, 2011 at 10:22:09 (UTC)
Goto Top
Ok - sei mir nicht böse das ich da mal nachfrage - aber hast du dir über DB-Design mal gedanken gemacht? Denn ehrlich gesagt fällt mir nicht EIN Grund ein warum man das so aufbauen sollte... Du wirst bei der Wartung später Amok laufen! (Ganz davon abgesehen das ich sowas dann immer so aufbauen würde das ich nicht durch die Anzahl der Spalten begrenzt bin....)

Von daher wäre mein Rat: Das DB-Design nochmal überlegen bevor du an die Programmierung gehst...
Member: Dipps
Dipps Jan 28, 2011 at 10:39:33 (UTC)
Goto Top
Nee das soll ja am ende wenn alle leute sich eingertragen haben in eine excel tabelle gespielt werden da brauche ich die DB Tabelle nur als CSV exportieren und es ist gut so es werden auch nicht mehr als 53 spalten da dies die KW's sind wobei 53 für die 1 KW im neuem jahr ist.
Member: Arano
Arano Jan 28, 2011 at 20:23:28 (UTC)
Goto Top
Hi,

ich bin ja gewillt zu helfen aber
  1. Sind deine Beiträge nicht einfach zu lesen !
  2. Ich verstehe gar nicht was du willst ! Was ist denn die Aufgabe, der Sinn und Zweck __des Ganzen__ ?

Du hast da ein Formular, was steht da drin, wie sind die Elemente strukturiert, bei welchen wird was wie geändert und was soll dann geschehen ?


~Arano
Member: Dipps
Dipps Feb 14, 2011 at 14:42:01 (UTC)
Goto Top
also ich habe eine DB Tabelle mit Name, Vorname, Gruppe, Personalnr und Spalte 1-53 für die KW's
in jeder Zeile steht ein Mitarbeiterwobei standartmäßig 1-53 NULL sind.
nun habe ich eine Maske wo ich filter setzte Wer mir angezeigt werden soll.
Bsp. die Personal Nr. würde eine PHP Nr. aufgehen mit allen die die Personalnr haben (eine Person).
Oder mit nachnamen (können mehrere Personen sein)nun habe ich für die Spalten 1-53 inputs mit dem namen $Persnr.1 , $Persnr.2
und soweiter bis 53 und das für jeden Mitarbeiter der mir angezeigt wird nun kann ich in die inputfelder änderungen mach bsp, zahlen eintragen bei 1 oder mehreren Personen.
nun muss ich aber wenn ich die Daten sende prüfen obich die Personalnr unten hatte um in der DB-Tabelle ein Update zumachen. sprich ob das feld 99.1 bis 99.53 existierte oder das feld 2003.1 bis 2003.53 und wenn ja dann soll er es in die DB-Tabelle reinschreiben.