php - 在将项目移动到列表之前检查所有列表中的重复项
问题描述
我有一个从 master.csv 文件填充的主列表,然后我从 list1.csv、list2.csv、list3.csv 等填充了多个(10+)列表。我想将项目从 masterlist 移动到 list1,但需要检查项目是否不在任何列表中,然后才能移动这里的代码,但只使用 3 个列表,但还有更多,但我无法在移动之前检查重复项
索引.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Move Items From Master List</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
</head>
<select name=master[] id=master class="master" multiple="multiple" size='23'>
<?php
$file = fopen("temp.csv", "r");
while (($row = fgetcsv($file, 0, ",")) !== FALSE) {
$master = $row[0];
?>
<option><?php echo $master; ?></option>
<?php
}
?>
</select>
<form action="update.php" method="post">
<input type=button class="master" name=b1 id=b1 value='Move >'>
<input type=button class="master" name=b2 id=b2 value='< Remove'>
<select name=list1[] id=list1 multiple="multiple" class=master>
<?php
$file = fopen("list1.csv", "r");
while (($row = fgetcsv($file, 0, ",")) !== FALSE) {
$list1 = $row[0];
?>
<option value="<?php echo $list1;?>"><?php echo $list1;?></option>
<?php
}
?>
</select>
<input type="submit" value="Save File" name="submit">
</form><br /><br />
<form action="update.php" method="post">
<input type=button class="master" name=b3 id=b3 value='Move >'>
<input type=button class="master" name=b4 id=b4 value='< Remove'>
<select name=list2[] id=list2 multiple="multiple" class=master>
<?php
$file = fopen("list2.csv", "r");
while (($row = fgetcsv($file, 0, ",")) !== FALSE) {
$list2 = $row[0];
?>
<option value="<?php echo $list2;?>"><?php echo $list2;?></option>
<?php
}
?>
</select>
<input type="submit" value="Save File" name="submit">
</form>
<script>
$("#b1").click(function() {
var source = $("#master");
var target = $("#list1");
$("option:selected", source).each(function() {
target.append("<option>" + $(this).text() + "</option>");
$("option[value= '" + $(this).val() + "' ]", source).remove();
});
$('option', target).prop('selected', true);
});
$("#b2").click(function(){
var source = $("#list1");
var target = "#master";
$("option:selected", source).each(function() {
master.append("<option>"+$(this).text()+"</option>");
$("option[value= '"+ $(this).val() + "' ]", source).remove();
});
$('option', source).prop('selected', true);
});
$("#b3").click(function() {
var source = $("#master");
var target = $("#list2");
$("option:selected", source).each(function() {
target.append("<option>" + $(this).text() + "</option>");
$("option[value= '" + $(this).val() + "' ]", source).remove();
});
$('option', target).prop('selected', true);
});
$("#b4").click(function(){
var source = $("#list2");
var target = "#master";
$("option:selected", source).each(function() {
master.append("<option>"+$(this).text()+"</option>");
$("option[value= '"+ $(this).val() + "' ]", source).remove();
});
$('option', source).prop('selected', true);
});
</script>
和我的 update.php 文件
<?php
header("Location:".$URL.'index.php');
if ($_POST['list1']) {
$list1 = $_POST['list1'];
$list1unique = array_unique($list1);
sort($list1unique);
foreach ($list1unique as $key => $value) {
$result.=$value."\n";
}
file_put_contents('list1.csv',$result);
}
if ($_POST['list2']) {
$list2 = $_POST['list2'];
$list2unique = array_unique($list2);
sort($list2unique);
foreach ($list2unique as $key => $value) {
$result.=$value."\n";
}
file_put_contents('list2.csv',$result);
}
?>
解决方案
推荐阅读
- bots - Bot Framework Emulator 错误:POST 500 directline postActivity
- java - 如何防止 IntelliJ 删除导入语句
- c++ - Retrieve used header and source file names by parsing Makefile
- c++ - 在 Clang 中生成默认构造函数
- ruby-on-rails - Rails 单选按钮参数是字符串而不是哈希
- git - 恢复合并的多个分支以开发
- css - 如何在浏览器 ionic 3 中滑动水平滚动
- sql-server - 如何在 PHP 7 上使用 ODBC 驱动程序 17 连接到命名实例?
- shopify - Shopify ResourcePicker 未显示
- javascript - 如何在 React Native ListView 中过滤和呈现重复的嵌套 JSON 数据?