Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在while循环中增加id?_Php_Loops_Mysqli - Fatal编程技术网

Php 如何在while循环中增加id?

Php 如何在while循环中增加id?,php,loops,mysqli,Php,Loops,Mysqli,代码: 在这段代码中,我导入了csv文件,它工作得非常好。现在,当我将csv文件数据插入数据库时,我也会插入一个id,即产品id现在,当我单击提交按钮时,它会存储相同的值,但我想为不同的行存储不同的产品id。那么,我该怎么做呢?请帮帮我 谢谢您可能只想在数据库中使用自动增量,您还可以使用“创建日期”列和“时间”。循环对于date()来说太快了(s是秒!),但即使是microtime()也没有多大意义 如果您真的想这样做,为什么要使用php: while (($row= fgetcsv($file

代码:

在这段代码中,我导入了csv文件,它工作得非常好。现在,当我将csv文件数据插入数据库时,我也会插入一个id,即
产品id
现在,当我单击提交按钮时,它会存储相同的值,但我想为不同的行存储不同的
产品id
。那么,我该怎么做呢?请帮帮我


谢谢

您可能只想在数据库中使用自动增量,您还可以使用“创建日期”列和“时间”。循环对于date()来说太快了(s是秒!),但即使是microtime()也没有多大意义

如果您真的想这样做,为什么要使用php:

while (($row= fgetcsv($file_data, 10000, ",")) !== FALSE)
{
    $product_id = date('mdHis');
    $data[] = array(
             'product_id' => $product_id
         );
}

请向我们展示所有相关代码(如现有数据库代码)以及一些数据示例。此外,您的循环实际上没有使用csv?…中的任何内容:
date('mdHis')
每秒将返回相同的所有迭代次数(一秒钟内可能会有很多次迭代)。先生,实际上我希望我的'product_id'自动递增,如果在我的csv文件中有100条记录,那么它将
product_id
像每行1,2,3,4,5,但现在它保持不变,即1,1,1,这是我不想要的@MagnusErikssonIsn在数据库中将列设置为
自动增量
(这是推荐的方法)并让数据库处理该列不是更容易吗?您是否知道
自动增量
列,但出于某种原因不想在此处使用,或者您不明白如何或为什么要这样做?
function generateTimeID($start, $format_string) {
    while (True) {
        yield date($format_string) . $start;
        $start ++;
    }
}

$time_generator = generateTimeID($last_id_from_database, 'mdHis-');

while (($row= fgetcsv($file_data, 10000, ",")) !== FALSE)
{
    $product_id = $time_generator->value();
    $time_generator->next();
    $data[] = array(
             'product_id' => $product_id
         );
}