2011-11-02 39 views
0

假设我们从php代码中检索表格数据。

1-不从表中删除和恢复特定的行和,
2-不具有列“hidden”(值是0或1),并使用查询
SELECT ..... WHERE....AND hidden=0

是否有可能临时“隐藏”一些行?
或者最好的办法是做什么?我们可以在MySQL中隐藏一些行吗?

回答

3

另一种方法是创建一个VIEW不包括不需要的行;如果要求具有(半)永久性,这可能会更好。有关更多信息,请参见here

+0

无论如何,我将不得不为视图有不同的名称(与表名不一样)?然后,我们需要修改查询。但似乎无论如何我需要修改查询。这可能是最简单的解决方案,因为我们只需要更改'SELECT FROM xxxxx'部分。 – Dinushan

0

由于隐藏标记已经完成(隐藏= 1),因此无法隐藏而不删除。

虽然正确的方法是改变第一查询,因为你不会检索不需要的数据,您可以:

  • 查询的查询,添加“其中隐藏= 0”部分
  • 过滤处理表的脚本中的数据
  • 在预过滤(其中hidden = 0)的数据库上添加一个视图
  • 过滤客户端上的数据(以隐藏所有内容开始并使用jquery显示您的内容想(不推荐作为解决方案虽然)
+0

我认为提问者说他​​们不想使用“隐藏”列,而不是他们有一个。 – Fenton

+0

我在想他不能修改原始查询! –

+0

'...没有列'隐藏'...' - 所以没有隐藏的列。 – Fenton

1

你怎么知道你想删除哪些行?例如,如果你知道每一行的id,你可以排除追加到您的查询

AND id NOT IN (4,9,28) 
相关问题