Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL如何通过管理面板对表中的行进行优先级排序_Php_Mysql_Sorting_Wordpress - Fatal编程技术网

PHP/MySQL如何通过管理面板对表中的行进行优先级排序

PHP/MySQL如何通过管理面板对表中的行进行优先级排序,php,mysql,sorting,wordpress,Php,Mysql,Sorting,Wordpress,我正在创建一个自定义Wordpress插件。这是一家餐馆的菜单创造者。数据库中有5列(id、菜单项、膳食、菜单顺序)。用餐是(0=早餐,1=午餐,或2=晚餐),菜单顺序是一个整数,可以将菜单项的优先级设置为更高或更低。我已经构建了管理面板,它读取下表并按餐次显示项目,然后按菜单顺序显示项目 ID | MENU ITEM | MEAL | MENU ORDER _____________________________________________

我正在创建一个自定义Wordpress插件。这是一家餐馆的菜单创造者。数据库中有5列(id、菜单项、膳食、菜单顺序)。用餐是(0=早餐,1=午餐,或2=晚餐),菜单顺序是一个整数,可以将菜单项的优先级设置为更高或更低。我已经构建了管理面板,它读取下表并按餐次显示项目,然后按菜单顺序显示项目

    ID  |  MENU ITEM       |  MEAL  |  MENU ORDER
    _____________________________________________  
    1   |  Scrambled Eggs  |  0     |  0 
    6   |  Cereal          |  0     |  1
    5   |  Omelette        |  0     |  2
    2   |  Soup            |  1     |  0
    7   |  Broccoli        |  1     |  1
    4   |  Steak           |  2     |  0
    3   |  Chicken         |  2     |  1
我可以添加新的食物,只需搜索要添加的食物,找到最后一个菜单顺序编号,然后添加即可。当我想删除一个项目时,问题就出现了。如何有效地重新排列菜单顺序列?表格结构是否有效设置

Joomla通过他们的文章和模块做到了这一点。您可以在管理面板中上下排序优先级


有人有什么想法吗?

只运行一个sql查询:)


tada

为什么管理面板中这些项目的顺序很重要?如果您想为您的厨师下订单,只需编写一个查询,在
orderby'mean'ASC、'MENU order'ASC
中给出记录。从本体论的角度来看,
膳食
可能不应该是整数,而应该是早餐、
午餐
和晚餐的值。排序是管理员将一项优先于另一项。如上面的示例表所示,它们已经按照用餐顺序和菜单顺序进行了排序。管理员需要能够重新排序项目,而无需删除,然后以适当的格式添加条目。完美!谢谢我只是想看看是否有一个简单的解决方案。就在那里。
$deleted_meal_type = 0; //Breakfast- the Type of the Item being deleted
$deleted_meal_order = 7; //The order of the Item being deleted
query("UPDATE meals_table SET menu_order=menu_order-1 WHEN menu_order>$deleted_meal_order  AND meal_type=$deleted_meal_type;"