2010-03-08 40 views
0

我有存储与3个值的数组一个MySQL场:如何从存储在MySQL中的数组中获得不同的值?

array(item1=>1123, item2=>5454, item3=>23432) 

我如何可以查询与PHP数据库,这样,我只得到不同的item2值,然后通过item3值安排这些结果?

+0

简短的回答是:你不能。如果您要尝试从数据库中查询它,则不行。唯一可能的方法是以编程方式执行此操作。然而,为了教育目的,你能解释为什么你要把它作为一个数组存储,而不是把每个项目放在它自己的字段中?很明显,如果您需要通过DISTINCT进行选择,您需要在自己的字段中输入它们。但我对选择的设计路径感到好奇。 – 2010-03-08 23:32:00

+0

基本上它是一个有10个任务的用户帐户。每个任务在“用户”表中都有一行。数组存储任务的名称,当用户启动任务并完成任务时。我认为这将是处理这种情况的最佳方式,而不是有30个字段或另一个表。 – ssergei 2010-03-09 18:44:38

回答

1

需要更多的信息 - 比如数据库的结构。

窥视DISTINCT()函数和ORDER BY SQL

的条款
0

它更容易存储您的数组文字和东西以后可以分开。使用PHP,你可以做到这一点。我会尽力将您的数据用于您可以使用的内容。说你有野外物品。相反,如果你有一个数组如。

$ items = array(1123,5454,23432);

然后,您可以用一个符号,如爆吧:

$项目=破灭( '|',$项目);

,然后下一个领域的数据库存储这个如物品应该是这样的:

1123 |当你想抓住你只需要爆发,数据23432

然后| 5454使用相同的符号:

$ items = explode('|',$ row ['items']);

,你回来了,你的数据集:

$项目[0] = 1123个 $项目[1] = 5454个 $项目[2] = 23432

,然后才能访问第二个项目通过抓取数组的元素之一:

$项目[1]

希望,让您更好的了解它。

+0

vs存储数组会有什么好处?难道我没有更多的能力通过存储数组来操纵数据吗? – ssergei 2010-03-09 18:46:59

相关问题