Fri*_*33t 1 html php mysql csv
我有一个网页,我上传一个csv文件,然后用PHP 导入到mysql数据库.
我有一个类似的mysql查询,"SELECT * FROM wifi"然后计算数据库中的行.然后它应该运行csv的导入并进行相同的查询并再次计算行显示"之前和之后"的数字.我有点工作了.
问题是,计算"之前"数字的第一个查询位于页面顶部,它显示数字很好,当我点击提交按钮时,它将我的csv发送到php,将其插入数据库并重定向到"pagehere?success=1"哪里它应该显示"后"号码.但是当页面重新加载/重定向时,重新运行带有"之前"编号的第一个查询并显示"之后"编号.
所以我有一个"之前"的数字,导入csv和页面重新加载,然后我有两个"后"数字.
如何在页面重定向期间保留"之前"编号?
代码是这样的(我还在学习,可能是错的)
(THIS CODE IS IN WEBPAGE)
//Count before import
$before = mysql_query("SELECT * FROM wifi");
$num_rows_before = mysql_num_rows($before);
(THIS CODE IS WHERE THE FORM UPLOAD FILE TO AFTER SUBMIT-BUTTON)
<?php
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT IGNORE INTO wifi (bssid, channel, privacy, ciper, auth, power, essid, latitude, longitude, first_seen, last_seen) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($data[8])."',
'".addslashes($data[9])."',
'".addslashes($data[10])."'
)
");
}
} while ($data = fgetcsv($handle,1000,","));
//redirect
header('Location: index.php/upload?success=1'); die;
}
//Count after import
$after = mysql_query("SELECT * FROM wifi");
$num_rows_after = mysql_num_rows($after);
//echo stats
echo "Number of rows before - ";
echo "$num_rows_before";
<br>
echo "Number of rows after - ";
echo "$num_rows_after";
//generic success notice
if (!empty($_GET[success])) { echo "<br><b>Result: Your file is imported!</b><br>"; }
//Close connection to databse
mysql_close($connect) ;
?>
Run Code Online (Sandbox Code Playgroud)
将"之前"号码作为参数传递给第二个网页.因此,将代码的最后一行更改为
header('Location: index.php/upload?success=1&before=' . $num_rows_before); die;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |