[英]update entire column with different values
我需要更新tags
列,以便每个单元格都有这样的内容:
2-5-1-14-5
或者3-9-14-19-23
或类似(五个整数,范围为 1-25)。
id
列不是从 1-117 连续的,但无论如何最小id
是 1,最大 117。
$arr = [];
$str = '';
$id = 1;
for ($x = 1; $x <= 25; $x++){
array_push($arr, $x);
}
while ($id < 117) {
shuffle($arr);
array_splice($arr, 5, 25);
foreach ($arr as $el){
$str .= $el . '-';
}
$str = rtrim($str,'-');
$db->query("update posts set tags = '" . $str . "' where id = " . $id);
$id += 1;
}
我不确定如何描述最终结果,但似乎大多数单元格被多次写入。
有什么帮助吗?
将我的评论合并为一段代码:
$full = range(1, 25);
$id = 1;
while ($id < 117) {
shuffle($full);
$section = array_slice($full, 0, 5);
$str = implode('-',$section);
$db->query("update posts set tags = '" . $str . "' where id = " . $id);
$id += 1;
}
所以$str
的重置不再需要了,因为我已经插入了implode()
似乎可以正常工作的地方。 其他位的代码可能可以改进。
两个警告:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.