2010-11-20 70 views
-1

我还没有对PHP代码进行排序,但我希望有人会以任何代码的解决方案为例。 MySQL表的如何使用PHP在MySQL中移动页面

例子:

  • 页面
  • 垃圾

我想创建将一次删除链接被点击的页面删除页面移动从页面表到垃圾表。

因此,该文件并未从网站中完全删除,而是移动到另一个表格(垃圾),并且在网站上不可见。

将使用什么代码将页面例如about_us.php从Pages表移动到垃圾表?

+1

您能否告诉我们您的目标是什么?也许您已经完成了一些代码?只要我们能够引导你朝着正确的方向前进。 – 2010-11-20 15:22:19

+0

对这个问题的修订#2基本上使它变得毫无意义,并且不清楚该编辑的用途。尽管如此,由于它仍然过于广泛,并且没有任何代码,所以它在回滚之后可能仍然是无关紧要的。 – halfer 2017-09-16 21:30:38

回答

2

如果我理解正确,您的数据库将至少有两个表:“页面”和“废纸篓”。这些表格将包含您想要在“页面”和“废纸篓”之间移动的某些文件的名称。

如果是这样的话,我会建议你做的一切在一个表中,通过使用领域,这将是一个标志天气的网页是“垃圾”与否。我们称之为“Pages”表,它会是这样的:

----------------------------
| PageName | isTrash |
| --------------------------- |
| about.php |                     |
| home.php |                     |

在这种情况下,字段isTrash通过分别使用值1和0来指示页面是否为垃圾。

守则

我也不太明白,如果你问的PHP代码或SQL,所以这里的两个:

首先,你需要设置一些数据库信息,并进行连接,像这样:

<? 
    //Information needed to make the connection 
    $user="DB_username"; 
    $password="DB_password"; 
    $database="DB_name"; 
    //Same machine = localhost 
    $host = "localhost"; 

    //Connect to the host 
    mysql_connect(localhost,$user,$password); 
    //Select the database 
    @mysql_select_db($database) or die("Unable to select database"); 
?> 

您可以找到关于此主题在这里更多的信息:http://www.w3schools.com/PHP/php_mysql_intro.asp

现在我们已经准备好接受查询的数据库了,让我们把页面设置为“home”。PHP的”垃圾页面:

<? 
    //Information needed to make the connection 
    $user="DB_username"; 
    $password="DB_password"; 
    $database="DB_name"; 
    //Same machine = localhost 
    $host = "localhost"; 

    //Connect to the database 
    mysql_connect(localhost,$user,$password); 
    //Select the database 
    @mysql_select_db($database) or die("Unable to select database"); 

    //MySQL query to make "home.php" a trash page 
    $query = "UPDATE pages SET isTrash = 1 WHERE PageName = 'home.php'"; 
    //Execute the query 
    mysql_query($query); 
    //Close the connection 
    mysql_close(); 
?> 

此外,您还可以找到有关SQL这里http://www.w3schools.com/sql/default.asp

0

更多信息,我不知道在一个表中这样做是个好主意实际上它取决于页面的数量... 因为它使数据库表更大的记录,实际上并没有使用...所以每次你做一个选择或任何你必须考虑他们...... 在我看来,它会减缓数据库除非如果你没有只有少量的记录) 那么做一个插入(选择...)),然后删除... 有2查询那里我这并不是戏剧性的,因为它不是你经常会做的事情。

我认为,在数据库中进行wrtiting操作时会做得比较慢,比会影响阅读的东西要好得多......永远记住,你读的东西比你写的东西要多。

1

我已经做了几次。它通常包括创建一个通用的trash表具有以下字段:

|------------|----------|------------|------| 
| objectType | objectId | title  | data | 
|------------|----------|------------|------| 
| page  | 1  | Homepage | ... | 
|------------|----------|------------|------| 

因为你真的不希望创建一个垃圾桶表数据库中的每个表。

基本上,objectType字段包含被删除的对象的表名,以及其在objectId中的id。 title包含对象的用户友好描述,因为向用户显示垃圾内容时,不能期望他明白“页面1”的含义。 “Page:Homepage”更具说明性。

最后一个字段data包含来自page表的行的序列化副本。要取消删除,请反序列化该行并重新插入。

删除页面涉及获取page记录,对其进行序列化,将其插入trash表中,然后将其从原始page表中删除。

另一种解决方案是在您的page表中有一个标志,告诉记录是否被删除。但是,这种其他解决方案涉及在原始表(并在索引)留下一堆已删除的记录,并且可能会减慢查询速度。它主要取决于您的流量,记录数量和预期响应时间。