PHP определяет числа между двумя числами, а затем запрашивает

0

Это должно быть просто, но я не могу понять это


<?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.

Еще раз спасибо, ребята, ребята.

Теги:

3 ответа

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);

Подробнее о range() и implode()

  • 0
    Еще раз спасибо за ваш ответ, я, вероятно, собираюсь в конечном итоге объединить эти два ответа, потому что я забыл упомянуть, что мне нужно включить все числа между ними плюс текущий, который в этом примере равен 251, и ваш делает это
  • 0
    Обновлен ответ, чтобы включить $curid
Показать ещё 2 комментария
4

Вы можете сделать список чисел с range() как предложения @artlung, но возможно, что список очень длинный, что не будет эффективным запросом.

Почему бы не использовать BETWEEN?

$testid = 240;
$curid = 251;

$query = "SELECT * FROM wall WHERE id BETWEEN {$testid}+1 AND {$curid}";
0
foreach (range(240, 251) as $n) {
    mysql_query("SELECT * FROM wall WHERE id='".$n."'")
}

Кроме того, вы можете сделать это с одним запросом.

  • 0
    Я собираюсь попробовать это спасибо за быстрый ответ =)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню