2017-03-22 4 views
-2

Okay, also im Grunde, was ich habe eine sock_id und eine charity_id, gibt es 4 Optionen für Socken und 2 für wohltätige Zwecke. der Benutzer kann mehrere Socken und Wohltätigkeitsorganisationen auswählen, also was ich gerade habe ist: sock_id = 1 1 2 2 3 3 4 4 charity_id = 1 2 1 2 1 2 1 2 was ich will ist: sock_id = 1 2 3 4 charity_id = 1 2 1 2 hier mein Code:PHP zwei Arrays in Mysql

$sockList = $_POST['sock_list']; 
$charityList = $_POST['charity']; 
foreach($sockList as $s){ 
foreach($charityList as $c){ 
$sql = "INSERT INTO donor_sock(Donor_id, Sock_id, Charity_id) VALUES('$donor', '$s', '$c')"; 
$conn->query($sql); 
echo "$sql"; 
} 
} 

Output:

INSERT INTO donor_sock (Donor_id, Sock_id, charity_id) VALUES ('8', '1', '1 ')

INSERT INto Spender_Sock (Donor_id, Sock_id, Charity_id) WERTE ('8', '1', '2')

INSERT INTO donor_sock (Donor_id, Sock_id, Charity_id) VALUES ('8', '2', '1')

INSERT INTO donor_sock (Donor_id, Sock_id, Charity_id) VALUES ('8', '2', '2')

hier ist das, was die Tabelle wie folgt aussieht:

Table

hier ist, was ich will:

table2

wenn Sie weitere Informationen lassen Sie mich brauchen, wissen aber ich weiß, das Problem liegt nur in diesem Code und im ziemlich sicher, dass seine eine for-Schleife Ausgabe

+0

können Sie die Ausgabe umfassen von 'echo" $ sql ";'? –

+0

diese Ausgabe ist nur, wenn ein Benutzer wählt 2 Socken und beide Charts –

+1

Sie posteten einige Code und Sie erwarten wahrscheinlich, dass wir es reparieren, ohne zu sagen, was das Problem damit ist. – axiac

Antwort

1

Try this:

for($i=0;$i<count($sockList);$i++){ 
$sql = "INSERT INTO donor_sock(Donor_id, Sock_id, Charity_id) VALUES('$donor', $sockList[$i], $charityList[$i])"; 
$conn->query($sql); 
echo "$sql"; 
} 
+0

Das funktioniert für zwei, aber dann druckt der Fehler: Hinweis: Undefinierter Offset: 2 in INSERT INTO Donor_sock (Donor_id, Sock_id, Charity_id) VALUES ('10 ',' 3 ',' ') Hinweis: Undefinierter Offset: 3 in INSERT IN Donor_Sock (Donor_id, Sock_id, Charity_id) VALUES ('10 ',' 4 ',' ') wenn ich in 4 Auswahl Socken –

+0

$ SockList eingeben, $ CharityList beide Array müssen von gleicher Größe sein, stellen Sie bitte sicher, dass das bedeutet, dass jede sock_id sollte charity_id dann funktioniert es – Omi

+0

gibt es keine Möglichkeit, die charity_id Einsätze zu duplizieren, so dass es den Rest der Tabelle ausfüllt? –