刷新页面时反复插入相同的数据

时间:2017-12-14 05:15:42

标签: php mysql

我想将“product_table”中的数据插入“daily_sale_report”,但每当我刷新每日销售报告页面(我显示从product_table插入的数据)时,每次添加之前添加的所有数据时,我都会这样做。但我想要当我在product_table中添加一些新数据时,只会插入数据。

我在标题

中添加的数据插入的MySQL代码
<?php
   include "database/db.php";

  $insert2 = mysql_query("INSERT INTO `daily_sale_report`(`product_id`, `date`, `time`) select `product_id`,`date`,`time`` from product_table where date = CURDATE()");


if(!$insert2){
    echo mysql_error();
}else{
    echo "";
};

和数据显示,我使用while循环

<?php
   $data_show = mysql_query("SELECT * FROM `daily_sale_report`");
    while ($data = mysql_fetch_array($data_show))
   {
?>
   <tr>
    <td><?php echo $data['date'];?></td>                                
    <td><?php echo $data['time'];?></td>
   </tr>

   <?php
    };
   ?>

3 个答案:

答案 0 :(得分:0)

我猜你试图每天更新一次表daily_sale_report,以便在现金柜台1中进行销售。 您还需要包含日期过滤器以仅插入该日期的记录。

否则整个地段将被插入日常报告中。

答案 1 :(得分:0)

在DB中执行select并检查是否存在与CURDATE()相关的行。比如SELECT * FROM daily_sale_report WHERE日期= CURDATE(); 如果确实包含忽略插入的记录,则插入。 (希望你每天只插入一行,如果不在sql中替换你的条件) 示例:

    include "database/db.php";

    $checkRecordExists = mysql_query("SELECT * FROM daily_sale_report WHERE date= CURDATE()");
    if(empty($checkRecordExists)){
        $insert2 = mysql_query("INSERT INTO `daily_sale_report`(`product_id`, `date`, `time`) select `product_id`,`date`,`time`` from product_table where date = CURDATE()");
        if(!$insert2){
            echo mysql_error();
        }else{
            echo "";
        };
    }else{
        echo "record already there";
    }

答案 2 :(得分:0)

 $insert2 = mysql_query("INSERT INTO `daily_sale_report`(`product_id`, `date`, `time`) select `product_id`,`date`,`time`` from product_table where date = CURDATE()");

==示例将ABC插入tableA&lt; =在表B中查找ABC今天是哪天

让我们说今天2017-12-14 0910我插入产品名称=&#34; hello1&#34;,然后我关闭

当今天0915你打开这个页面,你当前的时间是2017-12-14 0915它还在2017-12-14所以它会重新插入我刚刚插入的数据,它将继续重复一个hv ppl这个页面,直到2017-12-15它将停止克隆2017-12-14数据

希望这会对你有所帮助