我用PHP从零开始制作了一个小cms。
我有一个经典的文章和类别系统(如Joomla,WordPress等)。
用户可以订购文章。所以我有一个专栏" order"在"文章"表格编号:1,2,3等。
用户还可以更改类别。因此我需要在更改类别后修改订单列,否则我可以在之前的类别中订购此类1,3,4,在新类别中订购1,2,2,4。
我制作了一个脚本,可以重建每个类别的顺序。它有效。
但我不知道如何检查我何时需要它。
我的代码:
// $new_category : new category selected by user in a select"
// $categorie : $_GET['categorie']
if ($new_category !== $categorie) {
// reconstruct order column
}
if ($new_category !== $categorie)
,它不能很好地工作,因为在文章更新后,URL中的参数$_GET['categorie']
不会改变。如果用户再次更改类别,则可能会导致订单列出错。
所以,我考虑比较存储在数据库中的新类别和类别。但是,由于在重建列顺序之前更新了数据库,因此它不起作用。
答案 0 :(得分:1)
它不能很好地工作,因为在文章更新后, URL中的参数$ _GET [' categories']不会更改
通常,您永远不应该仅通过POST从GET更新数据库。在这种情况下常见的事情是Post/Redirect/Get - 这将允许用户更改类别,然后刷新页面以便使用新页面重新加载,这将允许他们再次更改它。如果您想在那里添加重新订购流程,可以将其放在Post和Redirect步骤之间,随后的GET将收到新更新的订单。