brali schrieb am 03.05.2006 08:46
Guten morgen zusammen..
|
Danke, Dir auch.
..
1:
2:
3:
4:
5:
6:
7:
8:
9:
10: | if($_REQUEST[add]=='true' and $_REQUEST[insert]=='true') {
if (count($REQUEST[mitarbeiter])>0)
$kategorienstr = implode($REQUEST[mitarbeiter],"&Mitarbeiter[]=");
$db->query("insert into vb_dienste (mid, beschreibung, artikel) values ('$_REQUEST[mitarbeiter]','$_REQUEST[beschreibung]','$_REQUEST[artikel]')");
$id = mysql_insert_id();
for ($i=0; $i<count($_REQUEST[mitarbeiter]); $i++) {
$db->query("insert into vb_verweis (mitarbeiterid, dienstleistungid) values ('$_REQUEST[mitarbeiter][$i]','$id')");
}
echo "<div class='text'>Die Dienstleistung wurde angelegt.<br><br>\n";
} |
Leider schreibt er immer nur einen Datensatz in die DB, so das auch immer nur ein Mitarbeiter mit dieser Dienstleistung verknüpft ist.
|
Ich würde mal schätzen da ist nur ein Mitarbeiterdatensatz übertragen.
Fehler im formular?
P.S.: Nacfolgend schreibe ich in das Zitat
Und hier eine Änderung -> wenn ich es so ändere (ich weiß nciht sehr glücklich das ganze), dann wirft er mir allen 4 mal in die Datenbank:
1:
2:
3:
4:
5:
6:
7: | // Datensatz in DB speichern
for ($i=0; $i<count($_REQUEST['mitarbeiter']); $i++) { //macht etwas mit allen gesendeten Datensätzen
foreach ($_REQUEST['mitarbeiter'] as $mitarbeiter) { // und nocheinmal, also sinnlos
$db->query("insert IGNORE into vb_verweis (mitarbeiterid, dienstleistungid) values ('$mitarbeiter','$id')");
}
}
|
|
Da hast Du doppelt gemoppelt. Nimm die for () schleife raus und lass foreach.
Schau dir den HTML Quelltext deines formulares an der ist wahrscheinlich falsch. (da ist bestimmt ein </form> wo es nicht hingehört)
Aber ohne mehr quelltext kann ich nichts sagen
---
MfG:Austin Power (Saturn Realm)
OMW! Zumindest sobald ich herausgefunden hab wo ich JETZT gerade bin.
<---------->
"Wenn Liebe die Antwort ist, könnst Du bitte die Frage neu formulieren?" ... Lily Tomlin
<---------->
code hier
http://www.pastebin.com