我目前正在创建一个项目,允许用户只下载mysql表中的某些列。
我的问题的第一部分是如何制作它,以便我可以将某些列下载为CSV格式。
第二部分是如何仅允许用户下载他们有权使用的列。
例如我是A人,我想从此表下载数据。我只允许下载第1,4和7列。 这些数据将以CSV的形式呈现给我,我可以在Excel中查看和修改。
我不希望用户能够查看他们无法访问的数据。
答案 0 :(得分:1)
您需要为此创建一个小型Web应用程序。这需要时间,对不起,没有简单的方法:
为用户创建某种形式的身份验证系统(登录表单或访问代码),从users表中获取数据。你可能已经有了。
在phpMyAdmin中,在您的users表中添加一个名为PERMISSIONS的列,并在该列中放置用户可以访问的列(您可以使用逗号分隔它,就像您的示例中一样)。
当用户登录时,获取为其存储的用户权限并使其爆炸(http://php.net/manual/es/function.explode.php)。这将允许您创建一个菜单,其中仅包含您允许用户使用的列。
然后制作表格。在此表单中,您需要使用explode函数的结果和提交按钮添加使用while循环生成的选择菜单(https://www.w3schools.com/tags/tag_select.asp。
点击提交按钮后,用户将被定向到脚本。用户使用POST方法获取在选择菜单中选择的列。
运行SQL语句:'SELECT $ column_X FROM table_X'然后再使用while循环获取它以格式化结果(Convert array into csv)。
最后将结果提供给CSV文件。