Я выполняю функцию на своем веб-сайте, где администратор может обновлять корзины игроков в этом сезоне через простую форму html, однако у меня возникают проблемы с эффективностью и эффективностью скрипта.
Чтобы загрузить данные в форму, я использовал этот скрипт php:
$conn = new mysqli($host,$username,$password,$db_name)
or die ('Cannot connect to db');
$result = $conn->query("select playerNum, playerName, baskets from dPlayers");
while ($row = $result->fetch_assoc()) {
$dNum = $row['playerNum'];
$dName = $row['playerName'];
$dBasket = $row['baskets'];
echo '<tr>
<th scope="row">'.$dNum.'</th>
<td>'.$dName.'</td>
<td>'.$dBasket.'</td>
<td><input type="text" name="dAdd'.$dNum.'" placeholder="+ Baskets"></td>
<td><input type="hidden" name="dAddId'.$dNum.'" value="'.$dNum.'"></td>
</tr>';
}
Это помещает каждого игрока в таблицу, чтобы администратор мог видеть их число, имя и текущие корзины, а затем поле ввода, в которое можно ввести дополнительные корзины.
Как только это будет отправлено, я могу сделать все из Str для Int и математики, чтобы получить новые баллы, но как я могу обновить базу данных MYSQL, просто не записав в заявлении для каждого номера игрока?
Также для добавления скрытый ввод действует как способ, когда я могу ссылаться на эту строку на конкретный игрок в моих текущих попытках оператора.
-EDIT. К сожалению, должен был сказать, что форма позволяет администратору иметь возможность обновлять каждого игрока одновременно, а не только по одному.
Вы можете использовать массив входов и опционально устанавливать индекс на номер игрока вместо скрытого ввода:
<input type="text" name="dAdd[$dNum]" value="$dBasket" placeholder="+ Baskets">
Затем цикл и обновление:
foreach($_POST['dAdd'] as $number => $baskets) {
$stmt = $conn->prepare("UPDATE dPlayers SET baskets = ? WHERE playerNum = ?");
$stmt->bind_param('ii', $baskets, $number);
$stmt->execute();
}
WHERE
.INSERT
передавая обновленное значение для счета и используя предложениеWHERE
для обозначения нужного вам игрока. обновить. Что-то вроде"UPDATE dPlayers SET score=" . $score . " WHERE player=" . $dNum
.