Php добавить массив в строку

Код только отправляет это в базу данных

ab c1

ab c2

ab c3

Мне нужно отобразить вот так и отправить их в mysql

a1 b1 c1

a2 b2 c2

a3 b3 b3

номера в конце зависят от $ numrecords

$columns = implode(", ", array_values($colmname)); $insrecs = implode("',' ", array_values($insrecs)); for ($i = 0; $i < ($numrecords); $i++) { echo $insrecs, $i ."<br>"; } echo "<br>"; echo $insrecs; for ($i = 0; $i < ($numrecords); $i++) { $sql = mysqli_query($conn,"INSERT INTO $tablenames ($columns) VALUES ('$insrecs$i')"); 

Когда вы взорваетесь, у вас есть строка в целом, и вам нужно добавить число в каждый столбец отдельно. Вам нужно $insrecs и добавить число для каждого столбца od.

например.

 //$insrecs = implode("',' ", array_values($insrecs)); //delete this line for ($i = 0; $i < ($numrecords); $i++) { foreach($insrecs as $item){ echo $item . $i; } echo "<br>"; } 

Чтобы добавить их в БД, вы можете сделать так:

 //example data $tablenames = 'sometable'; $columns = implode(',',['col1','col2','col3']); $numrecords = 5; $insrecs = ['a','b','c']; for ($i = 0; $i < ($numrecords); $i++) { $values = []; foreach($insrecs as $item){ $values[] = $item . $i;//put columns for current row in temporary array } $valuesString = implode("',' ", $values); //implode to have nice string for SQL $query = "INSERT INTO $tablenames ($columns) VALUES ('$valuesString')"; echo 'inserting - '.$query.'<br>'; $sql = mysqli_query($conn,$query); //put every row to DB } 

Вывод:

 inserting - INSERT INTO sometable (col1,col2,col3) VALUES ('a0',' b0',' c0') inserting - INSERT INTO sometable (col1,col2,col3) VALUES ('a1',' b1',' c1') inserting - INSERT INTO sometable (col1,col2,col3) VALUES ('a2',' b2',' c2') inserting - INSERT INTO sometable (col1,col2,col3) VALUES ('a3',' b3',' c3') inserting - INSERT INTO sometable (col1,col2,col3) VALUES ('a4',' b4',' c4')