我有一个查询返回产品列表。该表不能更改为包含另一列(如二进制include_in_dropdown
)。假设确实有一些产品我不想包含在我填充这些数据的下拉列表中(例如,因为它不经常订购,或者对于网页上的订单表单的用户而言太过深奥且不直观)不包含在我填充的下拉列表中的最佳实践方式是什么?从PHP中的sql查询过滤不希望的结果
while ($row = mssql_fetch_assoc($result)){
//a switch with a bunch of cases statically
//listing the products I don't want to list
//switch($row[$col_val]){
//case: "Outsource"
//break 1;
//case: "Shipping"
//break 1;
//}
//some other way that is more maintainable(??)
echo "<tr>";
foreach ($column_names as $col_key => $col_val){
echo "<td>";
echo $row[$col_val];
echo "</td>";
}
echo "</tr>";
$count ++;
}
我有点明白这是一个令人难以置信的不理想的情况,这可能是唯一的出路,但也许还有比这是一英里长switch语句更好的方法。对任何想法感兴趣。
将其过滤到数据库中以开始?除非过滤逻辑会使查询变得如此庞大/丑陋,否则它将无法维护,所以通常不要发送来自db-> php的数据,以便稍后将其丢弃。 – 2013-02-11 19:56:06
@MarcB我会看看这是否是一个选项。也许我可以将其中一个未使用的字段设置为专门针对我的标志。你可以提交这个答案,所以我可以给你支票吗?谢谢! – 1252748 2013-02-11 20:03:52