ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
177
177
EMPFEHLEN
-
Ausgangssituation: 2 Tabellen - eine wird mit UserDaten gefüllt und die Zweite 'tblReferenzen' mit user_id aus Tabelle 1 und Referenzen.
Nun muss der User seine Daten auch per Formular ändern können. Kann mir jemand nun einen Tip geben, wie ich die unbestimmte Anzahl von Datensätzen in einem Formular ändern kann?PHP-Code:$refs = array(array($data['RefJahr1'], $data['RefVeranstaltung1'], $data['RefDozent1']),
array($data['RefJahr2'], $data['RefVeranstaltung2'], $data['RefDozent2']),
array($data['RefJahr3'], $data['RefVeranstaltung3'], $data['RefDozent3']));
$values=array();
foreach($refs as $ref) {
if (!empty($ref[0]) || !empty($ref[1]) || !empty($ref[2])) {
$values[]='('.$user_id.', "'.$ref[0].'", "'.$ref[1].'", "'.$ref[2].'")';
}
}
if (count($values)) {
$ref_sql = 'INSERT INTO `tblReferenzen`
(`user_id`, `RefJahr`, `RefVeranstaltung`, `RefDozent`) VALUES '.implode($values, ',').';';
mysql_query($ref_sql,$link) or die("Dateneinspielung der Referenzen fehlgeschlagen:" . mysql_error());
}
Ich kenne zwar das UPDATE statement, aber das einfache hilft mir hier ja nicht weiter, da ich erstens nicht weis, wieviele Datensätze ich ändere bzw. ob ich einen Datentensatz im Änderungsmodus ganz lösche.
PHP-Code:mysql_query("UPDATE tblReferenzen SET
`RefJahr` = '$data[RefJahr]',
`RefVeranstaltung` = '$data[RefVeranstaltung]',
`RefDozent` = '$data[RefDozent]'
WHERE id='$_SESSION[user_id]'
") or die(mysql_error());
-
habe es jetzt mal so probiert:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$refs = array(array($data['RefJahr1'], $data['RefVeranstaltung1'], $data['RefDozent1']), array($data['RefJahr2'], $data['RefVeranstaltung2'], $data['RefDozent2']), array($data['RefJahr3'], $data['RefVeranstaltung3'], $data['RefDozent3'])); $values=array(); foreach($refs as $ref) { if (!empty($ref[0]) || !empty($ref[1]) || !empty($ref[2])) { $values[]='('.$user_id.', "'.$ref[0].'", "'.$ref[1].'", "'.$ref[2].'")'; } } if (count($values)) { mysql_query("UPDATE tblReferenzen SET user_id='".$values["user_id"]."', RefJahr='".$values["ref[0]"]."', RefVeranstaltung='".$values["ref[1]"]."', RefDozent='".$values["ref[2]"]."' WHERE user_id='$_SESSION[user_id]' ") or die(mysql_error()); }
Ergebnis: jetzt werden alle Werte der entsprechenden Datensätze aus der tblReferenzen gelöscht, also die Zeilen bleiben erhalten
Hat jemand für mich vielleicht einen Link, wo ich mich zu dem Thema belesen kann?
Geändert von phpameise (29.08.11 um 19:15 Uhr)
-
Ich halte es mittlerweile für den falschen Weg, da für mich zu komplex. Werde jetzt immer eine bestimmte Anzahl Datensätze in die Tabelle ausgeben (z.B. 8). So kann der User beim ersten Ausfüllen der Tabelle z.B. 3 Datensätze füllen. Und später beim Update werden auch die leere Datensätze (hier 5) mit angeboten und der User kann nicht nur die alten Datensätze ändern, sondern auch bisher von ihm nicht benutzte Sätze ausfüllen. Alles andere ist für mich zu schwer und unrealistisch. Ich poste die Lösung später.
Ähnliche Themen
-
Update mehrerer Datensätze gleichzeitig
Von jack007 im Forum PHPAntworten: 1Letzter Beitrag: 13.08.08, 19:35 -
Freischaltfunktion/Update mehrerer Datensätze
Von baeckerjunge im Forum PHPAntworten: 1Letzter Beitrag: 19.02.07, 09:38 -
Funktionsaufruf mit unbestimmter Anzahl an Parametern
Von MrSpoocy im Forum PHPAntworten: 4Letzter Beitrag: 22.03.06, 13:25 -
Aktualisierung mehrerer Datensätze
Von redwing78 im Forum ASPAntworten: 0Letzter Beitrag: 25.02.06, 11:56 -
Aktualisieren mehrerer Datensätze
Von redwing78 im Forum ASPAntworten: 10Letzter Beitrag: 19.07.05, 14:26





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren