Variable in $_POST

Boof

Mitglied
Hi,

ich habe ein Formular welches über eine While-Schleife alle Mitarbeiter einer Firma auflistet.

Damit man die Daten ändern kann habe ich eine Art Admin-Bereich geschrieben. Dort werden alle Mitarbeiter in einem Formular in Textfeldern angezeigt um Änderungen vornehmen zu können. Am ende des Formulars ist ein Speichern-Button.

Die Mitarbeiter haben alle eine andere id. Die p_id (Personal_id).

Als Beispiel:

PHP:
<input type="text" size="50" name="'name'.$p_id.'" value="'.$name.'">

Ich möchte das die Änderungen die vorgenommen werden in der Datenbank gespeichert werden. Zur Zeit sieht es leider so aus das nur der letzte der Mitarbeiter Änderungen übernimmt weil ich nicht weiss wie ich mit dem Formularnamen und der darin enthaltenen id arbeiten kann.

Also ich möchte anhand des Formularnamens (enthält die id) herausbekommen welcher Mitarbeiter es ist und es somit speichern können.

Ich hoffe ihr könnt mir helfen.
 
Zuletzt bearbeitet:
Versuchs mal so:
Code:
<input type="text" size="50" name="name['.$p_id.']" value="'.$name.'">
Dadurch erhältst du einen Array $_POST['name'], den du problemlos durchlaufen kannst.
Schlüssel der Array-Elemente ist $p_id des jeweiligen Users.
 
bspw. über [phpf]array_keys[/phpf], oder auch so
PHP:
foreach($_POST['name'] as $key => $value)
  {
    echo '<br>'.$key.':'.htmlspecialchars($value);
  }
 
hmm geht auch einfacher
Code:
name="perso_id[]"
macht aus dem html element direkt ein array für php
das bedeutet das $_GET['perso_id'] schon ein array ist

PHP:
<pre>
<?
if(isset($_GET['perso_id'])){
 nl2br(print_r($_GET['perso_id']));
}
?>
</pre>
<form>
<input type="text" size="50" name="perso_id[]" value="id_1"><br/>
<input type="text" size="50" name="perso_id[]" value="id_2"><br/>
<input type="text" size="50" name="perso_id[]" value="id_3"><br/>
<input type="text" size="50" name="perso_id[]" value="id_4"><br/>
<input type="submit">
</form>
 
muss ich das wenn die Daten sowieso aus der Datenbank mit vortlaufender id kommen?

ob in der DB xy bei feld A steht und bei feld B die daten auch da sind dann brauch ich das nichtmehr
 
Doch sind sie schon da du im normal fall ein

select id ,data from bla
machst
und das array dennoch die daten von der id und den daten hatt

glaub mir mal ;D
es ist wenn nicht gerade random selektierst nicht möglich :)
Deine Version wäre nur Doppelt gemoppelt :)
 
Ich glaub dir aber nicht :p

Sobald die IDs nicht fortlaufend sind...dies ist bspw. der Fall, wenn ein Datensatz gelöscht wird, geht bei deiner Methode der Bezug verloren.
 
Zurück