将自动编号分配给 HTML 表单条目

Assigning autonumber to HTML form entry

我到处搜索,但似乎没有任何东西可以帮助解决这个问题。我有一个 html 网络表单(在 PHP 文档中)将数据写入 CSV 文件,表单下方是一个 table 根据密钥过滤回 CSV 数据单词。我对该部分的现有代码没有任何问题。但是,我需要有一个自动编号功能,可以为每个表单分配一个编号。我什至需要从哪里开始的帮助。我对编码还比较陌生,所以任何帮助都会很棒。 编辑:这是我用来将数据写入 csv 文件的代码。

if($_POST['formSubmit'] == "Submit")
{
    $fs = fopen("fixturerequests.csv","a");
    fwrite($fs,$varFixNum . ", " . $varRequester . ", " . $varDept . ", " . $varSupervisor . ", " . $varDesc . ", " . $varParts . ", " . $varWC . ", " . $varAddinfo . ", " . $varDateReq . ", " . $varDateNeed . ", " .$varStatus . "\n");
    fclose($fs);

    header("Location: successfullysubmitted.php");
    exit;
}

任何指导都会很好。谢谢。

你可以使用这个功能

function next_available_form_id(){

    $rows = file('fixturerequests.csv');  //put our csv file into an array

    if(empty($rows)) return 1;            //if our csv is empty we start from 1

    $data = str_getcsv(array_pop($rows)); //array_pop gets the last row

    return $data[0]+1;            //we get first field and add 1 to it
                                  //Just use the field where you store the form number 
                                  //e.g if you store the form number in the  
                                  //4th field replace $data[0] with $data[3]

}

根据您提供的代码,您可以使用我提供的函数获取下一个 form_id,然后将其存储在 csv 中 file.Just 在打开 csv 文件后对您的代码进行此修改:

$fs = fopen("fixturerequests.csv","a");
$form_id=next_available_form_id();  //ADD THIS to get the next available id

//And insert $form_id as the first field in your csv file  
fwrite($form_id,$fs,$varFixNum . ", " . $varRequester . ", " . $varDept . ", " . $varSupervisor . ", " . $varDesc . ", " . $varParts . ", " . $varWC . ", " . $varAddinfo . ", " . $varDateReq . ", " . $varDateNeed . ", " .$varStatus . "\n"); 

注意事项: 当然,由于您现在拥有的 csv 没有 form_id 作为第一个字段,您应该从头开始创建 csv 文件,或者在现有的 records.In 示例中添加表格编号,我使用 awk 来做到这一点:

  awk '{printf "%d,%s\n", NR, [=12=]}' < fixturerequests.csv