Php 验证后在select HTML中保存一个值
我想在“选择”中保存选择,但它不起作用。在“提交”按钮上键入时,选择不会在“选择”中显示旧值 下面是函数的代码:Php 验证后在select HTML中保存一个值,php,html,Php,Html,我想在“选择”中保存选择,但它不起作用。在“提交”按钮上键入时,选择不会在“选择”中显示旧值 下面是函数的代码: function afficher_cours($cxn) { $requete="SELECT ID_COURS, SIGLE FROM COURS ORDER BY SIGLE"; $res = mysqli_query($cxn, $requete); echo '<select name = "cours">'; while($ligne = mysqli_fet
function afficher_cours($cxn) {
$requete="SELECT ID_COURS, SIGLE FROM COURS ORDER BY SIGLE";
$res = mysqli_query($cxn, $requete);
echo '<select name = "cours">';
while($ligne = mysqli_fetch_array($res)){
if(isset($_POST[$cours]) AND ($_POST[$cours] == $ligne)) {
$selected = 'selected="selected"';
} else {
$selected='';
}
echo "<option value = $ligne[0] $selected > $ligne[1] </option>";
}
echo '</select>';
}
下面是脚本的代码:
<form method="POST" action="">
<table>
<tr>
<td> Classe </td>
<td>
<?php afficher_classe() ?>
</td>
<td> Cours </td>
<td> <?php afficher_cours($cxn) ?> </td>
<td> Numéro du test </td>
<td> <?php selection_noTest(0, 5, 'noTest'); ?> </td>
<td>
<input type="SUBMIT" name="afficher" value="Afficher"/>
</td>
</tr>
</table>
if(isset($_POST['afficher'])) {
$cours = $_POST['cours'];
$classe = $_POST['classe'];
$noTest = $_POST['noTest'];
$annee = ANNEE;
$_SESSION['cours'] = $cours;
$_SESSION['noTest'] = $noTest;
$requete = "SELECT NBTESTS, EXAMEN FROM COURS WHERE ID_COURS = $cours";
$res = mysqli_query($cxn, $requete);
echo (mysqli_error ($cxn));
$ligne = mysqli_fetch_array($res);
$_SESSION['nbTests'] = $ligne['NBTESTS'];
$_SESSION['examen'] = $ligne['EXAMEN'];
if (($noTest > $ligne['NBTESTS']) OR (($noTest == 0) AND ($ligne['EXAMEN'] == 'non'))) {
echo 'Le numéro du test est incorrect pour ce cours. <br/>';}
提前谢谢你的帮助 虽然我做了一些小改动,但您的功能似乎正常运行。。请检查一下
function afficher_cours($cxn) {
$requete="SELECT ID_COURS, SIGLE FROM COURS ORDER BY SIGLE";
$res = mysqli_query($cxn, $requete);
echo '<select name = "cours">';
while($ligne = mysqli_fetch_array($res)){
if(isset($_POST['cours']) AND ($_POST['cours'] == $ligne[0])) { //Changed $ligne to $ligne[0] and $_POST['cours'] instead of $_POST[$cours]
$selected = 'selected="selected"';
} else {
$selected='';
}
echo "<option value = '".$ligne[0]."' ".$selected." > ".$ligne[1]."</option>"; // modified this line too
}
echo '</select>';
}
您正在获取ID_COURS,SIGLE,然后您无法访问$ligne['ID_ELEVE',,因此它可能无法工作
我很怀疑,你得到的下拉列表值是否正确
编辑:
应该有$\u POST['cours',而不是$\u POST[$cours],因为函数中没有定义$curs!!这将给您一个未定义变量的错误:cours在一个函数中,我试图替换“$ligne['ID_ELEVE']”中的“$ligne”,但它也不起作用。值是正确的,您的修改不起作用too@Sab25,我已经编辑了我的答案。这次是您的解决方案,请检查并让我知道。。