这应该很简单,但我无法弄明白
<?php $testid = 240; $curid = 251; $cal = $curid - $testid; echo $cal; ?>
我想确定两个其他数字之间的数字,所以对于这个例子,它检测到$ testid和$ curid之间有11个数字,但我不需要它来做那个。
我需要它来计算$ curid之间的数字 - $ testid,在这个例子中将是241,242,243 ...一直到251然后我需要用这些数字创建一个循环并做一个查询下面的每一个
$cal = $curid - $testid; mysql_query("SELECT * FROM wall WHERE id='".$cal."'") // and for each number mysql should out put each data field with those numbers.
再次感谢,爱你们。
答案 0 :(得分:4)
您可以使用range()
作为@artlung建议列出数字列表,但列表可能很长,这不是一个有效的查询。
为什么不使用BETWEEN
?
$testid = 240;
$curid = 251;
$query = "SELECT * FROM wall WHERE id BETWEEN {$testid}+1 AND {$curid}";
答案 1 :(得分:3)
这假设$testid
小于$curid
:
$testid = 240;
$curid = 251;
$numbers = range(($testid + 1), ($curid));
$query = 'SELECT * FROM wall WHERE id IN (' . implode(', ', $numbers). ')';
如果我print $query;
我得到了:
SELECT * FROM wall WHERE id IN
(241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251)
所以只需查询:
mysql_query($query);
的更多信息
答案 2 :(得分:-1)
foreach (range(240, 251) as $n) {
mysql_query("SELECT * FROM wall WHERE id='".$n."'")
}
此外,您可以使用一个查询进行..