我正在尝试制作一个小课程,需要上一课,我们需要选择列表中的项目,并且我有2个箭头选择当前项目下方或之后的项目.
这是一个例子:
因此,如果我想返回,则需要选择“ Gratin deknöpfli”.
我本来想用ID选择它,但我真的不知道该怎么做.
的PHP
<?PHP
function lectureRecette($fichier){
$contenu=file_get_contents($fichier);
echo "<br><br>Contenu du fichier $fichier : <br><pre>$contenu</pre>";
}
function compteurFichier($ext){
$rep = glob('./recettes/*.'.$ext);
$compteur = count($rep);
return $compteur;
}
function afficherListe(){
if($dossier = opendir('./recettes')){
while(false !== ($fichier = readdir($dossier))){
if($fichier != '.' && $fichier != '..'){
$nb_fichier += 1;
$nom_fichier = preg_replace('/\\.[^.\\s]{3,4}$/','',$fichier);
echo '<option value="'.$fichier.'" name='.$fichier.'>'.$nom_fichier.'</option>';
}
}
}
}
function afficheRecette($fichierSelectionne){
$file='./recettes/'.$fichierSelectionne;
$contenu=file_get_contents($file);
echo "<pre>$contenu</pre>";
}
$recette = $_POST['recette_select'];
?>
<!------------------------------------------------------------------------------->
<!-- Partie HTML (construction mixte - statique et dynamique) -->
<!------------------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="fr">
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<Meta charset="iso-8859-1" />
<Meta name="description" content="i-ct,module 133,web,css" />
<title></title>
</head>
<body>
<div id="header">
<img src="images\top.jpg",align="center",width="100%">
</div>
<div id="liste">
<table>
<tr>
<td>
<p>Recettes dispo:</p>
</td>
<td>
<p>
<label for="recette_liste"></label>
<form method="post">
<select name="recette_select" onchange="this.form.submit();">
<?PHP
afficherListe();
?>
</select>
</form>
</p>
</td>
</tr>
</table>
</div>
<div id="contenu">
<?PHP
afficheRecette($recette);
?>
</div>
<div id="footer">
<a href="https://www.google.ch"><img src="icones\back.png",align="left",height="50",width="50">
<a href="https://www.PHP.net/manual/fr/language.basic-Syntax.comments.PHP"><img src="icones\home.png",size="16",width="50">
<a href="https://www.color-hex.com/color/ffffe0"><img src="icones\go.png",align="right",width="50">
</div>
</body>
</html>
<!------------------------------------------------------------------------------->
<!-- Fin de la partie HTML -->
<!------------------------------------------------------------------------------->
的CSS
*{
font-family: verdana;
font-weight: bold;
text-align: center;
}
header{
margin: auto;
width: 100%;
padding: 0;
}
#liste{
background: yellow;
text-align: center;
}
#contenu{
display:block;
background: #FFFFE0;
}
#footer{
text-align: center;
background: yellow;
}
我希望它只是在列表中前后移动,关于如何解决此问题的任何想法?
最佳答案
您必须将$fichierSelectionne传递到afficherListe函数中,并使等于$fichier的项目selected =“ selected”:
function afficherListe($fichierSelectionne = null) {
if($dossier = opendir('./recettes')) {
while(false !== ($fichier = readdir($dossier))) {
if($fichier != '.' && $fichier != '..') {
$nb_fichier += 1;
$nom_fichier = preg_replace('/\\.[^.\\s]{3,$fichier);
echo '<option value="'.$fichier.'" name='.$fichier.' '.($fichier == $fichierSelectionne ? 'selected="selected"' : '').'>'.$nom_fichier.'</option>';
}
}
}
}