我有一个垂直模式的数据库,解释说:
Key, Cat, UID, Var, Val, 等等... 其中 Key 是索引,Cat 是类别,UID 是一组行的标识符,var 是行表示的值的名称,Val 是该值。所以几行看起来像这样:
key cat uid var val
1 1 98765 name David
2 1 98765 description handsome, young, sporting,
3 1 98765 phone 123-456-789
4 1 98765 email david@handsome.com
5 1 12345 name Jason
6 1 12345 description cool, hot, tall,
7 1 12345 phone 222-555-1244
8 1 12345 email jason@cool.org
8 1 12345 website www.jason.com
所以 query/php 的目标是从指定的类别中获取所有行,然后根据具有该 uid 的所有行的 uid 返回一个关联数组。结果会有点像
results{
["98765"] => ["name"] = David
=> ["description"] = handsome, young, sporting,
=> ["phone"] = 123-456-789
=> ["email"] = david@handsome.com
["12345"] => ["name"] = Jason
=> ["description"] = cool, hot, tall,
=> ["phone"] = 222-555-1244
=> ["email"] = jason@cool.org
=> ["website"] = www.jason.com
}
希望这是可以理解的,如果我的问题不清楚,请告诉我。
最佳答案
尝试这样的事情:
$category = 1;
$result = mysql_query( 'SELECT * FROM table WHERE cat = ' . intval( $category));
$results = array();
while( $row = mysql_fetch_array( $result))
{
$results[ $row['uid'] ][ $row['var'] ] = $row['val'];
}
mysql_free_result( $result);
关于php - 如何使用 PHP 根据该值将具有匹配列值的 MySQL 查询结果放入关联数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8175542/