感谢所有的大师们。
我正在尝试在个人资料页面上创建上一个和下一个按钮。如果我正在查看Arnsdorf的个人资料,我想要一个前一个按钮链接到Antonio,另一个按钮链接到Baldeviso。
ID不是顺序的,您可以从lname:
ID: 22 Name: Airaghi
ID: 36 Name: Antonio
ID: 27 Name: Arnsdorf
ID: 13 Name: Baldeviso
ID: 46 Name: Barnes
这是我的代码:
$sql = "SELECT id,lname FROM profiles ORDER BY lname";
$query = mysql_query($sql);
if (!$query) {
die('Invalid query: ' . mysql_error());
}
while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
printf ("ID: %s Name: %s", $row[0], $row["lname"]);
echo "<br>";
}
mysql_free_result($query);
但我不能把它变成array
来排序。
我希望创建一个3列multi-dimensional array
,其数据集看起来大致如下:
row,id,lname
1,22,Airaghi
2,36,Antonio
3,27,Arnsdorf
4,13,Baldeviso
5,46,Barnes
然后我可以弄清楚如何获得Arnsdorf的行数。然后得到+1和-1的行号,这样我就可以在我的超链接中使用它们各自的id。
我已经查了几个小时,但是我找不到任何代码示例,它们会将mysql数据转储到一个永久足以进行此类排序的带编号的多维数组中。谢谢你的帮助。
答案 0 :(得分:3)
您可以将每一行分配给数组,然后从该数组中回显数据。这是一个例子:
$persons = array();
while($row = mysql_fetch_assoc($query)) {
$persons[] = $row;
}
// To access ID of user in third row
echo $persons[2]['id'];
// Name of that person
echo $persons[2]['lname'];
答案 1 :(得分:0)
实际上非常简单:
while($row = mysql_fetch_array($query)){
$profiles[] = $row;
}
现在你将拥有一个这样的数组:
array(
0 => array('id' => 22, 'lname' => 'Airaghi'),
1 => array('id' => 36, 'lname' => 'Antonio'),
etc...
)
然后,您只需从$profiles[$index]['id']
或$profiles[$index]['lname']