如果我有像这样的数据库
[ id - post - num ]
[ 1 P1 1 ]
[ 2 P2 2 ]
[ 3 P3 3 ]
[ 4 P4 5 ]
[ 5 P5 7 ]
现在我有一个像这样的代码
$max_number = 7; // AFTER QUERY
$current_number = $_GET['num']; // = 1
if($current_number < $max_number){
echo "<a href='#'>The {$current_number++} in rating Post</a>";
}
此代码中的问题是,如果主题编号是3并且单击它会给我4号不存在,是否有可能更好地做到这一点?尽可能使用数组。
答案 0 :(得分:1)
解决方案可能是(在sql中,你必须实现它):
SELECT MIN(num) FROM tab WHERE num>$current_number;
这会为您提供之前的($current_number++)
值。
答案 1 :(得分:0)
将所有可用的号码存储在类似
的数组中$available_numbers= arrray(1,2,3,5,6,7);
根据您的需要更改一些代码。
<?php
$available_numbers= array(1,2,3,5,6,7);
$max_number = 7; // AFTER QUERY
$current_number = 1; // = 1
do{
if(in_array($current_number, $available_numbers)){
echo "<a href='#'>The {$current_number} in rating Post</a>";
}
$current_number++;
}while($current_number < $max_number);
?>