这是我的代码
//select all the members id
$result = mysql_query("select id from member");
//create array of ids
$id = array();
// page is the number of my pagination numbering and its from 1 to 10
$dis = $page;// for example $page = 1
// $page get its value every time a user click my pagination numbering i.e $page = $_GET[page];
// guess you understand
while($u_id = mysql_fetch_assoc($result)){
//id is my field name
$id[] = $u_id[id];
}
echo $id[$dis];
我的问题是上面的代码只适用于10条记录中的4条记录。我的问题是,当数组索引是4,5时,为什么它不能在其他id上工作输出...以及我如何使它工作
其次,echo部分只是对我的想法的测试,但我想做的是将返回id传递给函数进行查询。请任何帮助
答案 0 :(得分:2)
不确定这是否是您的问题,但如果不是您帖子中的类型,您可能需要更正此问题:
while($u_id = mysql_fetch_assoc($result)){
$id[] = $u_id['id']; // this should be 'id' not $id
}
答案 1 :(得分:0)
我想你想拥有:
while($u_id = mysql_fetch_assoc($result)){
$id[] = $u_id['id']; // changed from $id inside brackets
}
答案 2 :(得分:0)
对于初学者,当您使用mysql_fetch_assoc()
时,您的$u_uid
变量将不包含任何数字索引。事实上,它只会永远拥有'id'
键,所以你的while循环应该看起来像这样
$id[] = $u_uid['id'];
这将在$id
表中使用每个 id构建member
数组,这可能不是您想要的。当你提到分页时,我希望你真的想要这样的东西
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
$page = max(1, $page); // ensure page is 1 or greater
$rowCount = 5; // you can set this to whatever you want
$offset = ($page - 1) * $rowCount;
$result = mysql_query(sprintf('SELECT id FROM member ORDER BY id LIMIT %d, %d',
$offset, $rowCount));