PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bestimmte Tabellenfelder ansprechen...


al3x
28.02.2005, 17:40:28
Aufgabenstellung (Siehe Bild->Tabelle (http://people.freenet.de/freeAcc/Tabelle.JPG) ):
Es soll erreicht werden das man (im härtefall) alle Felder("Erledigt am..."; "Erledigt von...") mit unterschiedlichen daten ausfüllt und sie später nach einer Button-Aktion in die Datenbank eintragen lässt.

Leider stecke ich mit meinen PHP/Datenbank erfahrungen noch in den Kinderschuhen ... aber fragen kann ja nie falsch sein.
Und da ich schon ziemlichen ärger mit der ganze sache hatte und nun wirklich mal vor einem problem stehe wo ich nicht weiter weis ... dachte ich mir halt es hier rein zu setzen.

<!-- Am ende wirds eh wieder en einzeiler ;) -->

Erklärung:
- Daten werden aus einer Oracle-Datenbank ausgelesen

<?php for ($i = 0; $i < $Anzahl; $i++) : ?>
<tr>
<td><?php echo $Checkliste['ID'][$i] ?></td>
<td><?php echo $Checkliste['Attributname'][$i] ?></td>
<?php
// gibt die Position im Array an
$wertvorhanden = -1;
for ($j = 0; $j < $AnzahlCheck; $j++) :
if (!empty ($PersonZuCheck['CREATE_DATE']) && $Checkliste['ID'][$i] == $PersonZuCheck['CHECK_ID'][$j])
{
$wertvorhanden = $j;
}
endfor;
if ($wertvorhanden >= 0)
{
echo "<td>".$PersonZuCheck['CREATE_DATE'][$wertvorhanden]."</td>";
echo "<td>".$PersonZuCheck['CREATE_USER'][$wertvorhanden]."</td>";
}

- Felder wo die Datenbank keine Informationen für hat werden mit einem leeren Textfeldfeld gefüllt. (Wie man sich das halt denken kann ;)) Wobei jedes Textfeld einen unterschiedlichen Namen erhalten soll. Für spätere zwecke notwendig!
else {?>
<td><input type="text" name="Create_Day<?php echo "_".$Checkliste['ID'][$i];?>" value="<?php echo $Day ?>" "size="2" maxlength="2">
<?php } ?>
- Attributnamen von "ID 1" bis "ID n" sind unterschiedlich


Problem:
Da alle felder unterschiedliche namen haben und die eingabe EINDEUTIG für die bestimmte ID in der Datenbank eingetragen werden soll... wie findet man raus wo welcher eintrag gemacht worden ist, damit ich einen eindeutigen INSERT Befehl an die Datenbank geben kann?
Wie sieht es mit mehrfach einträgen aus? Es soll nur ein Button zur Bestätigung da sein.


Danke schonmal ... bin über jede Hilfe sehr erfreut!

P.S.:
Fals ich hier mit meinem Beitrag falsch gelandet bin, tut es mir auserordentlich leid! Benutze nicht oft foren ...

xabbuh
28.02.2005, 22:36:53
Ich bin mir nicht ganz sicher, ob ich dich richtig verstanden habe: Vergebe die Name der Eingabefelder am besten so, dass du diese anschließend als Array verarbeiten kannst:

<?php
<input type="text" name="fields[<?php print $Checkliste['ID'][$i]; ?>]['feld1']" />
<input type="text" name="fields[<?php print $Checkliste['ID'][$i]; ?>]['feld2']" />
?>


So kannst du die Felder nach dem Versand ganz einfach mit einer foreach-Schleife (http://www.php.net/foreach) abarbeiten.