我有一个包含查询结果的数组:
.....some code.....
$result = mysql_query("SELECT * FROM vttest");
$row = mysql_fetch_assoc($result);
print_r($row);
但它只打印一条记录,我不能将$ row放在循环中,因为我将在稍后对该变量进行排序。
Array
(
[id] => 3
[rep] => Mike
[name] => Joe
[department] => Business
[location] => Room 1
[email] => xxxx@hotmail.com
[phone] => 519-123-4567
[type] => Visit
[drink] => Coffee
[notes] => Some notes
[lastVisited] => 2010-08-27
[nextVisit] => 2010-08-27
)
我知道有更多的记录,如何在仍然可以使用$ row变量的同时打印所有记录?
答案 0 :(得分:13)
您实际上正在获取一条记录,因为您需要使用循环来获取所有记录。:
$my_arary = array();
while($row = mysql_fetch_assoc($result)){
$my_arary[] = $row;
print_r($row);
}
正如你所说,稍后你可以使用$my_arary
做你喜欢的事。
答案 1 :(得分:2)
$result = mysql_query("SELECT * FROM vttest");
$data = array();
while($row = mysql_fetch_assoc($result)){
array_push($data, $row);
}
答案 2 :(得分:1)
你需要把它放在循环中。然后,如果您稍后需要处理该变量,请使用mysql_data_Seek
重置内部结果指针:
mysql_data_seek($result, 0);
// your later code.
答案 3 :(得分:1)
你几乎拥有它,你需要使用一个循环来获取每一行的结果,并且当你这样做时,将每一行分配给一个表。
以下是您正在寻找的东西。
$result = mysql_query("SELECT * FROM vttest");
while($row = mysql_fetch_assoc($result)){
$rows[] = $row;
}
然后您需要做的就是访问该数组:
foreach($rows as $index => $value){
print_r($value);
}
foreach将在您的阵列中一次打印一行,让您根据需要缩短或使用该数据。