Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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 插入时将数据从一个表传输到另一个表_Php_Mysql_Sql_Phpmyadmin_Forum - Fatal编程技术网

Php 插入时将数据从一个表传输到另一个表

Php 插入时将数据从一个表传输到另一个表,php,mysql,sql,phpmyadmin,forum,Php,Mysql,Sql,Phpmyadmin,Forum,我目前正在使用php和mysql制作一些互联网论坛,我遇到了一个障碍。。。我不知道如何实现需要的约束,甚至不知道如何将它精确地实现到我的站点中(sql触发器、过程或php脚本?) 总之,我有一个名为blog的数据库,有两个表:posts和threads。在posts表中有两列,reply_id和parent_id,在每次插入posts表时,我需要将刚刚插入的行的reply_id设置为线程的表topic_顺序,其中topic_id=parent_id 显示主题的页面,按最高的主题顺序对主题进行排序

我目前正在使用php和mysql制作一些互联网论坛,我遇到了一个障碍。。。我不知道如何实现需要的约束,甚至不知道如何将它精确地实现到我的站点中(sql触发器、过程或php脚本?)

总之,我有一个名为blog的数据库,有两个表:posts和threads。在posts表中有两列,reply_id和parent_id,在每次插入posts表时,我需要将刚刚插入的行的reply_id设置为线程的表topic_顺序,其中topic_id=parent_id

显示主题的页面,按最高的主题顺序对主题进行排序,因此较高的回复id意味着较高的主题顺序,并且会将一个线程推到列表的顶部

$result_t = mysqli_query($con,"SELECT * FROM threads WHERE board_id='$row_b[board_id]' ORDER BY topic_order DESC");
这是当前显示的
http://fenster.myftp.org/blog/forums/board.php?id=1

我需要一个sql触发器,通过反复试验,我发现我可以使用reply_id查找刚刚插入的行,然后将其限制为仅插入该行的数据

CREATE TRIGGER `bump` AFTER INSERT ON `posts`
 FOR EACH ROW UPDATE threads
SET topic_order=(SELECT reply_id FROM posts ORDER BY reply_id DESC LIMIT 1)
WHERE topic_id=(SELECT parent_id FROM posts ORDER BY reply_id DESC LIMIT 1)
替换这个

    WHERE board_id='$row_b[board_id]'


嗯,行得通,嗯,语法正确总是好的,不管怎样,有没有关于数据传输的sql触发器的想法?或者我应该在回复提交时更新php脚本中的主题顺序吗?
   WHERE board_id='".$row_b['board_id']."'
                            ^--------^--------you need quotes here