Javascript creates a table for me. Cells contain the data name [0] [ean]. Because I have a button that adds more cells, the value changes [0], [3], [2] ---
PHP takes this after saving and saves it to CSV. But I can't understand how to write it in PHP. If I use a simple name just "ean" it will take it. But it only creates one CSV line. But sometimes I use 100, sometimes 200.
Can you please advise someone how to write that PHP takes data [0] [ean] next row of data [1] [ean] next row of data [2] [ean]
<!DOCTYPE html>
<html>
<head>
<meta charset="Windows-1250">
<title>Inventura</title>
<link href="editor-tabulek.css" rel="stylesheet" />
</head>
<body>
<form name="form" method="post">
<div id="tabulka">
<script src="editor-tabulek.js">
</script>
<input type="submit" name="submit" value="Odeslat" />
</div>
</form>
</body>
</html>
if(isset($_POST['submit'])){
//collect form data
$ean = $_POST['ean'];
$quantity = $_POST['quantity'];
//if no errors carry on
if(!isset($error)){
# Title of the CSV
$Content = "name, ean, plu, externalid, productid, newQuanitity\n";
//set the data of the CSV
$Content .= ",$ean,,,,$quantity\n";
# set the file name and create CSV file
$FileName = "Inventura-".date("d-m-y").".csv";
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="' . $FileName . '"');
echo $Content;
exit();
}
}
//if their are errors display them
if(isset($error)){
foreach($error as $error){
echo "<p style='color:#ff0000'>$error</p>";
}
}
?>```
Javascript
let tabulka;
let vychoziVelikostX = 1;
let vychoziVelikostY = 1;
let aktivniBunka;
function vytvorVychoziTabulku() {
tabulka = document.createElement("table");
document.form.appendChild(tabulka);
for (let y = 0; y < vychoziVelikostY; y++) {
let tr = document.createElement("tr");
tabulka.appendChild(tr);
for (let x = 0; x < vychoziVelikostX; x++ ) {
tr.appendChild(vytvorBunku());
}
for (let x = 0; x < vychoziVelikostX; x++ ) {
tr.appendChild(vytvorBunku2());
}
}
}
function vytvorOvladaciTlacitka() {
vytvorTlacitkoAVlozHo("Přidat řádek dolů", document.body).onclick = pridejRadekDolu;
}
var items = 0;
var items1 = 0;
function vytvorBunku() {
let td = document.createElement("td");
let tdInput = document.createElement("input");
tdInput.name = 'data['+items+'][ean]';
tdInput.type = "text";
tdInput.onfocus = function () {
aktivniBunka = this;
items++;
}
td.appendChild(tdInput);
for (let name = 0; name < 1; name++);
return td;
}
function vytvorBunku2() {
let td = document.createElement("td");
let tdInput = document.createElement("input");
tdInput.name = 'data['+items1+'][quantity]';
tdInput.type = "number";
tdInput.onfocus = function () {
aktivniBunka = this;
items1++;
}
td.appendChild(tdInput);
for (let name = 0; name < 1; name++);
return td;
}
function vytvorRadek() {
let novyRadek = document.createElement("tr");
let prvniRadek = tabulka.firstElementChild;
let bunkyPrvnihoRadku = prvniRadek.childNodes;
let pocetBunekVPrvnimRadku = bunkyPrvnihoRadku.length;
for (let i = 1; i < pocetBunekVPrvnimRadku; i++) {
novyRadek.appendChild(vytvorBunku());
}
for (let i = 1; i < pocetBunekVPrvnimRadku; i++) {
novyRadek.appendChild(vytvorBunku2());
}
return novyRadek;
}
function vytvorTlacitkoAVlozHo(popisek, rodic) {
let btn = document.createElement("button");
btn.textContent = popisek;
rodic.appendChild(btn);
return btn;
}
function indexRadkuAktivniBunky() {
let cilHledani = tabulka.childNodes;
let hledanyPrvek = aktivniBunka.parentElement.parentElement;
return Array.prototype.indexOf.call(cilHledani, hledanyPrvek);
}
function indexSloupceAktivniBunky() {
let bunkyVRadku = aktivniBunka.parentElement.parentElement.childNodes;
let td = aktivniBunka.parentElement;
return Array.prototype.indexOf.call(bunkyVRadku, td);
}
function pridejRadekDolu() {
let radek = vytvorRadek();
let indexVybraneho = indexRadkuAktivniBunky();
if (tabulka.lastChild == tabulka.childNodes[indexVybraneho]) {
tabulka.appendChild(radek);
} else {
tabulka.insertBefore(radek, tabulka.childNodes[indexVybraneho + 1]);
}
}
function pridejRadekDolu2() {
let radek = vytvorRadek2();
let indexVybraneho = indexRadkuAktivniBunky();
if (tabulka.lastChild == tabulka.childNodes[indexVybraneho]) {
tabulka.appendChild(radek);
} else {
tabulka.insertBefore(radek, tabulka.childNodes[indexVybraneho + 1]);
}
}
window.onload = function () {
vytvorOvladaciTlacitka();
vytvorVychoziTabulku();
}