0

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();
}


0 Answers0