2010-01-29 52 views
1

我有一个字段数组(不是行!)我想在表中以预定义顺序向后循环(或者,我可以颠倒数组的顺序),并返回第一个字段的字段名返回一个预定义的值。如何循环访问数据库行的数组,并选择具有所需值的第一个数据行?

例如,字段是这样的:

field_a => 1 
field_b => 0 
field_c => 1 
field_d => 0 
field_e => 0 

并说,field_c是第一个与我一直在寻找的价值,即使field_a可能已经拥有的价值。什么是通过a循环遍历e的最好方法,当它是具有值的第一个字段并返回该字段名称时,在c处停止?

我正在使用PHP和MySQL,所以我宁愿返回的字段名称是一个字符串,而不是一个数组 - 我不需要row()的值,只有字段名称本身。

谢谢! :)

+0

你的要求是矛盾的:在顶部你说你需要行名和值,但在底部你说你只需要行名。这是什么? – 2010-01-29 23:34:38

+2

“行名”是什么意思?该行的主键?另外,你想阅读这篇文章:http://blogs.msdn.com/simonince/archive/2009/03/30/procedural-versus-set-based-sql.aspx - 即使它是关于SQL Server的 - 它讨论了在处理数据库时,应该如何开始考虑基于集合的事物(与大多数编程的工作过程相比)。 – 2010-01-29 23:41:54

+0

按行名称,我的意思是字段名称。让我编辑我的原始帖子。 – dmanexe 2010-01-29 23:48:14

回答

2

这项工作?

SELECT * 
FROM yourtable 
WHERE criteria-for-property 
ORDER BY whatever-ordering-you-want 
LIMIT 1 

这将检索1行,然后停止。

+1

其中,如果你仔细阅读这个问题,就是他所要求的。他说“那个值”和“返回返回预定义值的第一行的行名和值”。为了清晰起见,添加了 – 2010-01-29 23:39:18

+0

。我想要返回的字段名称。 – dmanexe 2010-01-29 23:52:04

相关问题