Ich habe drei Arrays und möchte sie in die Datenbank schreiben. Das Problem, das ich habe, ist, wann immer die Werte in die bestimmte Spalte geschrieben werden, der Rest der Spalte bleibt leer. DieMit foreach in die Datenbank schreiben
$name_array = array(3) { [0]"Name1" [1]=>"Name2" [2]=> "Name3" }
$roll_array = array(3) { [0]=>"1" [1]=>"2" [2]=>"3" }
$att_array = array(3) { [0]=>"Present" [1]=>"Present" [2]=>"absent" }
Ich habe drei Spalten in DB „NAME“ „ROLL“ „attendance“ ich alle Array-Daten in die Datenbank zur gleichen Zeit gespeichert werden sollen. so sollte es wie dieses hier
NAME ROLL ATTENDANCE
Name1 1 present
Name2 2 present
Name3 3 absent
zu sehen ist der Code, den ich versucht, aber es nur jeweils Werte in die Spalte hinzufügen und lässt die andere Spalte leer. Die ersten drei Zeilen haben also nur ROLLNO und die nächsten drei Zeilen haben nur NAME und die letzten drei Zeilen haben nur ANTENDANCE.
$name_values = array();
$roll_values = array();
$att_values = array();
foreach ($name_array as $key => $name_values) {
$name_values = mysqli_real_escape_string($connection,$name_values);
$sql= "INSERT INTO `aclass12` (Name) VALUES ('$name_values')";
mysqli_query($connection,$sql);
}
foreach ($roll_array as $key => $roll_values) {
$roll_values = mysqli_real_escape_string($connection,$roll_values);
$sql= "INSERT INTO `aclass12` (RollNo) VALUES ('$roll_values')";
}
foreach ($att_array as $key => $att_values) {
$att_values = mysqli_real_escape_string($connection,$att_values);
$sql= "INSERT INTO `aclass12` (attendance) VALUES ('$att_values')";
}
Ich weiß, das ist nicht der richtige Weg zu tun. und was ist der Weg dies zu tun?
Ordnen Sie Ihre Arrays so an, dass jede foreach eine Datenzeile enthält (Name, Rolle, Anwesenheit), und fügen Sie dann alle drei Werte in eine Abfrage ein. – JimL