gpt4 book ai didi

php - 从数据库填充的下拉列表不使用 PHP 记录选定的选项

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:09 25 4
gpt4 key购买 nike

我下面的代码有什么问题?我不知道如何对我的 SQL INSERT 说来记录下拉列表的选定选项。我已经编辑了我的问题,所以有人可以帮助我解决这个问题。预先感谢您的帮助。

<?php
$usuarioLogado = $_SESSION['email'];
$etapa = "semana1";
$showModal = false;

$query = "SELECT * FROM campeonato WHERE usuario = '$usuarioLogado' AND etapa = '$etapa'";
$ref = $select_db->query($query);
$row = mysqli_fetch_assoc($ref);

if(isset($_POST['time']) && isset($_SESSION['email'])) {
$showModal = true;
$times = $_POST["time"];
$dobrada = $_POST["dobrada"];
$sobrevivente = $_POST["sobrevivente"];
if ($row) {
$sql = "UPDATE campeonato SET ";
foreach ($times as $time => $valor) {
if ($valor != null) {
$sql .= "$time = $valor,";
}
}
$sql .= " dobrada = $dobrada, sobrevivente = $sobrevivente, datahora = now() WHERE usuario = '$usuarioLogado' AND etapa = '$etapa'";

if ($select_db->query($sql) === TRUE) {
//echo "Dados atualizados com sucesso";
} else {
//echo "Error: " . $sql . "<br>" . $select_db->error;
}
} else {
$sql = "INSERT INTO campeonato (datahora, usuario, etapa, dobrada, sobrevivente,";
foreach ($times as $time => $valor) {
if ($valor != null) {
$sql .= "$time,";
}
}
$sql = substr_replace($sql ,"", -1);
$sql .= ") VALUES (now(), '$usuarioLogado', '$etapa', $dobrada, $sobrevivente,";
foreach ($times as $time => $valor) {
if ($valor != null) {
$sql .= "$valor,";
}
}
$sql = substr_replace($sql ,"", -1);
$sql .= ")";
if ($select_db->query($sql) === TRUE) {
//echo "Dados cadastrados com sucesso";
} else {
//echo "Error: " . $sql . "<br>" . $select_db->error;
}
}
}
$query = "SELECT * FROM campeonato WHERE usuario = '$usuarioLogado' AND etapa = '$etapa'";
$ref = $select_db->query($query);
$row = mysqli_fetch_assoc($ref);
?>

<form method="post">
<div class="form-group">
<table>
<tr>
<td class="quantity">
<input name="time[time1]" type="number" min="0" max="99" step="1" value="<?=$row["time1"]?>" required />
<input name="time[time2]" type="number" min="0" max="99" step="1" value="<?=$row["time2"]?>" required />
</td>
</tr>
<tr>
<td class="text-center" colspan="6">
<select name="dobrada" required style="color: #000;">
<option value=""> - Selecione A - </option>
<?php
for ($i = 1; $i <= 16; $i++) {
if ($row["DOBRADA"] == $i) {
echo "<option value='$i' selected=selected>Jogo $i</option>";
} else {
echo "<option value='$i'>Jogo $i</option>";
}
}
?>
</select>
</td>
</tr>
<tr>
<td class="text-center" colspan="6">
<select name="sobrevivente" required style="color: #000;">
<option value=""> - Selecione B - </option>
<?php
$queryS = "SELECT * FROM lista_times";
$resultS = $select_db->query($queryS);
while ($list = $resultS->fetch_array(MYSQLI_ASSOC)){
echo "<option value='".$list['times']."'>".$list['times']."</option>";
}
?>
</select>
</td>
</tr>
<tr class="full-area">
<td class="text-center" colspan="6">
<input type="submit" value="Enviar" style="color: #000;" />
</td>
</tr>
</table>
</div>
</form>

你好 friend ,我下面的代码有什么问题?我不知道如何对我的 SQL INSERT 说来记录下拉列表的选定选项。我已经编辑了我的问题,所以有人可以帮助我解决这个问题。预先感谢您的帮助。

最佳答案

PHP 代码在客户端(例如浏览器)发出请求时运行。从下拉列表中选择一个元素不会发出任何请求(页面已经加载),因此没有任何 PHP 代码可以在页面处于当前状态时实现这一点。

你有两个选择:

  • 向页面添加一些 JavaScript 代码,当选择一个新元素时触发该页面,当发生这种情况时,它会向您的服务器发出 AJAX 请求;或
  • 添加一个按钮来提交表单。提交表单将向服务器发送一个请求(通常是一个 POST 请求),以获取您在 <form> 中指定的任何页面。元素。你必须处理 INSERT从该页面,使用表单提交的数据。

后一个选项似乎更适合您的用例。在这个阶段,我建议您研究一下表单的工作原理以及如何从 PHP 处理它们。

关于php - 从数据库填充的下拉列表不使用 PHP 记录选定的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54966088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com