变量循环不会增加

时间:2015-03-28 11:07:48

标签: php mysql csv

需要计算表中的更新数据,但$ up保持为0.从导入的csv文件接收的数据。

$up=0;   
    do { //loop through the csv file
            if ($data[0]) {
                $res = mysql_query("SELECT ...");
                $check=false;
                for($i = 0; $array[$i] = mysql_fetch_assoc($res); $i++){

                    while ((condition)){
                            $check = true;
                            $i++;
                    };
                };
            if ($check) {
                $up++;//this does not work
                mysql_query("UPDATE ...");

            }
            else {
                mysql_query("INSERT ...");

            }
            }
        } while ($data = fgetcsv($handle,1000,",","'"));

下面是do-while循环的代码,我选择文件并获取关于$ up的消息

<html>
...
<?php if (!empty($_GET[success])) {echo $up; } ?> 
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
  Choose your file: <br /> 
  <input name="csv" type="file" id="csv" /> 
  <input type="submit" name="Submit" value="Submit" /> 
</form> 
...

1 个答案:

答案 0 :(得分:0)

从我所看到的,我很确定你是插入而不是更新。

  

你的$ up只在cas $ check中执行才是真的   并且只有在查询中的每一行符合(条件)

时,$ check才会生效

你应该在while(条件)中验证你在做什么

              for($i = 0; $array[$i] = mysql_fetch_assoc($res); $i++){

                while ((condition)){
                        $check = true;
                        $i++;
                };
            };