[英]PHP MySQL query to array help
我需要拉这样的查询
$result = mysql_query("
SELECT id, bid, text, link, orderid
FROM blast_sl
WHERE buuid = $bid
ORDER BY orderid");
returns:
1,1,test1,http://test1.com,1
2,1,test2,http://test2.com,2
我需要的是再先进一点
mysql_fetch_array
因此,当该查询运行时,它将填充页面上的不同位置。 我将无法在页面中运行任何循环,因此我需要像这样进行设置。
$result[1][3]
so $result [orderid][text]
这将拉动第一行的第一项。
test1
and $result[2][3]
会拉
test2
谁能帮我吗?
$data = array();
while($row = mysql_fetch_assoc()) {
$data[$row['id']] = $row;
}
会给你
$data = array(
1 => array('id' => 1, 'bid' => 1, 'text' => 'test1', 'link' => 'http://test1.com', 'orderid' => 1,
2 => array('id' => 2, .....),
...
)
您可以按照任何方式构建该数组,这只是一个示例。
您需要做的就是将数据提取到一个巨大的结果数组中:
$result = mysql_query("
SELECT id, bid, text, link, orderid
FROM blast_sl
WHERE buuid = $bid
ORDER BY orderid");
$results=array();
while ($row=mysql_fetch_row($result))
{
$results[$row[0]]=$row;
// Uncomment next line to make $result[1][3] return 3rd rather than 4th item
// array_unshift($results[$row[0]],''); // Adds a dummy value at the start of the array
}
$result=$results; //copy back into the $result var
而且你应该很好走。 请记住,数组将被索引为0而不是1。如果您确实需要$result[1][3]
返回第3个元素而不是第4个元素,则需要进行一些奇特的循环和计数才能将其排序
您可以将参数MYSQL_NUM
到mysql_fetch_array
函数中,这将允许您按索引引用记录列。
while($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("ID: %s Name: %s", $row[0], $row[1]);
}
然后,创建数组
while($row = mysql_fetch_array($result, MYSQL_NUM)) {
$result [] = $row;
}
$result[2][3]
我想这就是你想要的。
mysql_query("SELECT orderid, text FROM blast_sl ORDER BY orderid");
抱歉,不是,但是我不确定您想要什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.