我想在选择'中保存一个选项。但它不起作用。当您在提交按钮上输入时,选择不会在“选择”中显示旧值。
这里是函数的代码:
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/>';}
提前感谢您的帮助!
答案 0 :(得分:0)
您的功能似乎有效,但我做了一些小改动......请检查一下..
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']
,因此可能无法使用。{/ p>
我怀疑,您是否会使用正确的值获得<select>
下拉列表?
修改强>
应该有$_POST['cours']
而不是$_POST[$cours]
,因为$curs
未在功能中定义!!这会给你一个错误&#34;未定义的变量:cours&#34;