我有点紧张,这是我的第一个问题,但我已经很努力地解决了这个问题,需要一些帮助。
我制作了一个处理草图,它通过向 php 脚本发送查询来访问、排序和保存 csv 列表。它获取排序后的列表并显示它们。 (我不想稍后再进入xml或sql)
现在我正在努力使对列表中的条目进行投票成为可能。
在我下面的代码片段中,我有一个来自处理的查询,该查询通过发送字符串对条目进行投票。
我想根据数组中的字段检查处理传递的条目字符串,并通过向其添加一票来调整分数。
下面的代码没有破坏我的其他运行代码,也没有调整票数。 我怀疑有某种方式我没有正确访问字符串值,想知道是否有人可以建议我....
$ListV[]='score';
$ListV[]='entry';
<Snip>
if ($type == "voteUp") {
$Entry = $_GET['Entry'];
if(($handle = fopen("List.csv", 'r')) !== FALSE) {
set_time_limit(0);
while(($data = fgetcsv($handle,0,',')) !== FALSE) {
$ListV[$row]=$data;
$row++;
}
fclose ($handle);
$count = count($ListV);
for($i=0; $i<$count; $i++){ //foreach???
if ($rListV[$i][1]==$Entry || strcmp($rListV[$i][1],$Entry)==0) {
$score =int($rListV[$i][0]);
$rListV[$i][0]=$score+1;
}
}
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=file.csv');
$listVote = fopen("List.csv",'w');
foreach ($ListV as $values) {fputcsv($listVote,$values);}
fclose($listVote);
}
}
我相信我已经构建了一个带有分数和条目字段的可行二维数组。 我将分数放在首位的原因是这样我可以利用键排序并在需要时使用数组索引(例如在 php 中)。
请注意,我并不是要通过此列表中的投票来更改索引,而只是更改分数。 所以结果应该如下;
投票前:
2157 小猫
2157 狗子
11 羚羊
在投票给 Dogz 之后;
2157 小猫
2158 狗狗
11 羚羊
因此,Kittenz 始终是索引 1,Dogz 始终是索引 2,依此类推...... (后面key排序给出一个排序好的数组)
最佳答案
调整投票计数的(过于复杂的)部分使用不存在的 $rListV
,然后将原始的 $ListV
放回文件中。
关于PHP:为与输入字符串匹配的字段调整数组键中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20633603/