как просмотреть таблицу чисел в базе данных, пока у вас не будет суммы входного числа php / sql

0

Так что, если у вас есть таблица в вашей базе данных, которая выглядит так:

id :: name :: numbers
1: Джек ::: 4
2: Катрина ::: 2
3 :: Клайд :: 8

Я просматриваю столбец чисел, добавляя числа друг к другу до тех пор, пока он не достигнет определенного числа, а затем выделит одну строку, в которую добавлены числа. Поэтому, если ваш вход равен 3, он выведет строку с помощью Jack, если вход будет 5 или 6, он выведет Katrina, и если вход будет с 7-14, он выведет строку с клавишей.
Здесь я не могу понять, как я прокручиваю столбец чисел, добавляя числа до тех пор, пока вы не достигнете определенной строки, а затем отбросьте только эту конкретную строку.

Я знаю, как откликнуться на все строки и создать условие для поля ввода, но я, кажется, застрял в том, чтобы понять, как идти дальше.

    $sql = "SELECT medlemsid, navn, lotterinr, tid FROM medlemmer";
    $result = $con->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "| id: " . $row["medlemsid"]. " | - Name: " . $row["navn"]. " " ." | Lotterinr " . $row["lotterinr"]. " | Tid: ". $row["tid"]. "<br>";
    }
} else {
    echo "0 results";
}

if (isset($_POST['numberinput'])) {

            $numbers = $_POST['numberinput'];       

}

$con->close();
?>

<div id="udlodning-wrapper">

    <form name="login-form" class="login-form" method="post">

        <div>
            <input name="numberinput" type="number" id="numberinput"  placeholder="Lotterinummer" />
        </div>
        <div>
            <input type="submit" name="submit" value="Udlodning" id="udlodning-submit" class="button-input"/><br/>
        </div>
    </form>

</div>
  • 0
    Зачем циклически проходить и суммировать, когда вы можете просто использовать sum() в запросе SQL? Найдите базовый учебник по SQL, чтобы научиться group by и использовать агрегатные функции.
  • 0
    Тебе нужно сначала заняться спортом? Или вы рассчитываете только по возрастанию идентификаторов?
Показать ещё 1 комментарий
Теги:
mysqli

1 ответ

0
Лучший ответ

Используйте самообъединение, чтобы узнать сумму числа людей с одинаковым или меньшим числом, чем текущее лицо

select
  p1.id,
  p1.name, 
  p1.number, 
  sum(p2.number) as sum
from people p1
join people p2 on p2.id <= p1.id
group by p1.id, p1.name, p1.number;

SQL выше создаст такой результат:

id  name    number  sum
1   jack    4       4
2   katrina 2       6
3   clyde   8       14

Затем вы можете перебрать результат, проверив ввод с суммой

  • 0
    Спасибо за ваш ответ, на самом деле очень помогли за понимание и не застрять :)

Ещё вопросы

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