2013-05-22 79 views
1

我有一个包含3个字段(类别,标题,图像)的行的表。起初,我创建了一个foreach循环,它返回一些html与每行的信息。但是,现在我真的想创建一个场景,可以按类别“过滤”我的循环。PHP - 通过MySQL字段值筛选

我的意思是说,我想创建一个函数,它只会为其category字段中具有特定值的行生成html。我希望能够将此函数应用于类别的所有不同值。

任何帮助,将不胜感激。

+1

为什么不能在查询中直接筛选呢?所以你不需要你的PHP代码中的任何过滤器?你所要做的就是显示行的html。 –

+0

使用mysql过滤是好吗? – asifrc

+0

是的,你可以在你的'where'子句中有这样的东西,'WHERE category <> NULL' –

回答

2

MySQL查询解决方案:
使用Where声明在您的查询,并保持你的PHP一样。
例如

Select * From table Where `category`="Filter Value"; 

让我知道是否适合你,或者如果你限制只使用PHP来过滤类别..

+0

我想这样做PHP仅仅是因为我不知道它在mysql查询中做的解决方案有多容易。 – user1794386

+0

MySQL用于查询。大声笑它的目的是检索数据。 –

1

要么使用WHERE从句作asifrc建议。

或者做这样的事情

while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
    if($row['category'] == 'category1') { 
     // do some stuff example 
     $html_output .= '<p style="font-weight:bold">Important category: ' . $row['title'] . '</p>'; 
    } else if($row['category'] == 'category2') { 
     // do other stuff 
     $html_output .= '<p>Not important category: ' . $row['title'] . '</p>'; 
    } 
} 
+0

是的,这就是我在PHP中使用它的原因,但我想知道是否有一些不太复杂的事情(我有很多类别) – user1794386

+0

您对类别的处理对于每个类别都必须是唯一的吗?是否有类别组?即如果有5类别的类别,那么我们可以使用开关将它们分开。或者如果处理取决于该类别的某个方面,那可能是一个线索。更多信息? –