Php 退出while循环后获取变量
我正在开发一个验证系统,我的数据库中有几个MSG的值为0(这意味着它们还未被接受),因此我创建了一个页面,如果选中验证复选框,则将值更改为1 代码如下:Php 退出while循环后获取变量,php,variables,while-loop,Php,Variables,While Loop,我正在开发一个验证系统,我的数据库中有几个MSG的值为0(这意味着它们还未被接受),因此我创建了一个页面,如果选中验证复选框,则将值更改为1 代码如下: <?php if (isset($_POST['valider'])) { $reponse1 = db_query('UPDATE messages SET value = 1 WHERE id =
<?php
if (isset($_POST['valider']))
{
$reponse1 = db_query('UPDATE messages SET value = 1 WHERE id = ?', array($donneesmsg['id']));
echo "NSF validée";
}
if (isset($_POST['delete']))
{
$reponse1 = db_query('DELETE FROM messages WHERE id = ?', array($donneesmsg['id']));
echo "NSF supprimée";
}
$reponse = db_query('SELECT * FROM messages WHERE value = 0');
while ($donneesmsg = $reponse->fetch()) {
?>
<h5><?php echo $donneesmsg['Pseudo']; ?></h5>
<p class="text-center text-align"><?php echo $donneesmsg['Message']; ?></p>
<form class="form-inline" method="post" action="index.php?page=changeto1">
<label class="checkbox">
<input type="checkbox" name="valider" value="1">
Valider
</label>
<label class="checkbox">
<input type="checkbox" name="delete">
Supprimer
</label>
<input type="text" name="id" value="<?php echo $donneesmsg['id']; ?>">
<?php
}
?>
<br>
<br>
<button type="submit" class="btn">Envoyer</button>
</form>
瓦利德
供给者
你把线圈放错地方了。按照您的方式循环,每个复选框都有一个起始表单标记。获取多个不同复选框的另一个好方法是将其设置为数组。要执行这些操作,它将如下所示:
<form class="form-inline" method="post" action="index.php?page=changeto1">
<?php
$reponse = db_query('SELECT * FROM messages WHERE value = 0');
while ($donneesmsg = $reponse->fetch()) :
?>
<h5><?php echo $donneesmsg['Pseudo']; ?></h5>
<p class="text-center text-align"><?php echo $donneesmsg['Message']; ?></p>
<label class="checkbox">
<input type="checkbox" name="valider[<?php echo $donneesmsg['id']; ?>]" value="1">
Valider
</label>
<label class="checkbox">
<input type="checkbox" name="delete[<?php echo $donneesmsg['id']; ?>]">
Supprimer
</label>
<?php endwhile; ?>
<br>
<br>
<button type="submit" class="btn">Envoyer</button>
</form>
这是我应该怎么设置的吗
<?php
$idsToValidate = array_keys($_POST['valider']);
$idsToDelete = array_keys($_POST['delete']);
if (isset($idsToValidate))
{
$reponse1 = db_query('UPDATE messages SET value = 1 WHERE id = ?', array($idsToValidate['id']));
echo "<center>NSF validée</center>";
}
if (isset($idsToDelete))
{
$reponse1 = db_query('DELETE FROM messages WHERE id = ?', array($idsToDelete['id']));
echo "<center>NSF supprimée</center>";
}
?>
<form class="form-inline" method="post" action="index.php?page=changeto1">
<?php
$reponse = db_query('SELECT * FROM messages WHERE value = 0');
while ($donneesmsg = $reponse->fetch()) :
?>
<h5><?php echo $donneesmsg['Pseudo']; ?></h5>
<p class="text-center text-align"><?php echo $donneesmsg['Message']; ?></p>
<label class="checkbox">
<input type="checkbox" name="valider[<?php echo $donneesmsg['id']; ?>]" value="1">
Valider
</label>
<label class="checkbox">
<input type="checkbox" name="delete[<?php echo $donneesmsg['id']; ?>]">
Supprimer
</label>
<?php endwhile; ?>
<br>
<br>
<button type="submit" class="btn">Envoyer</button>
</form>
你试过什么?想想看,您的变量就在那里,您可以在循环内使用它做任何事情,包括将它保存在循环外的辅助数组中以供以后使用。
<?php
$idsToValidate = array_keys($_POST['valider']);
$idsToDelete = array_keys($_POST['delete']);
if (isset($idsToValidate))
{
$reponse1 = db_query('UPDATE messages SET value = 1 WHERE id = ?', array($idsToValidate['id']));
echo "<center>NSF validée</center>";
}
if (isset($idsToDelete))
{
$reponse1 = db_query('DELETE FROM messages WHERE id = ?', array($idsToDelete['id']));
echo "<center>NSF supprimée</center>";
}
?>
<form class="form-inline" method="post" action="index.php?page=changeto1">
<?php
$reponse = db_query('SELECT * FROM messages WHERE value = 0');
while ($donneesmsg = $reponse->fetch()) :
?>
<h5><?php echo $donneesmsg['Pseudo']; ?></h5>
<p class="text-center text-align"><?php echo $donneesmsg['Message']; ?></p>
<label class="checkbox">
<input type="checkbox" name="valider[<?php echo $donneesmsg['id']; ?>]" value="1">
Valider
</label>
<label class="checkbox">
<input type="checkbox" name="delete[<?php echo $donneesmsg['id']; ?>]">
Supprimer
</label>
<?php endwhile; ?>
<br>
<br>
<button type="submit" class="btn">Envoyer</button>
</form>