
Select html, enlazados
Publicado por Juan Antonio (3 intervenciones) el 31/08/2021 19:38:06
Hola a todos me presento, soy un programador de la vieja escuela (Cobol,Fortam, Ensamblador..) he aprendido algo de HTML y programación WEB en PHP con MySql ya estoy jubilado y como hobby he desarrollado una web acceder a las foros que tengo guardadas en un árbol de directorios.
De momento lo he solucionado con una página index.php con una función que crea un SELECT con todos los directorios del directorio RAIZ de la WEB para seleccionar un directorio y pasarlo a otra página WEB que hace lo mismo pero cuyo directorio a leer es raiz/directorio1/ y a si sucesivamente hasta crear un directorio tipo raiz/dierectorio1/directorio2/directorio3 y leer todas las fotos incluidas.
El tema es , ¿qué necesitaría utilizar para que todos los select y funciones estuvieran en la misma página y se alimentara la función reiterativamente con los resultados de cada select para pasar el elegido al siguiente select?...
Las página web tiene esta estructura y las sucesivas reciben el resultado y llaman a una función similar añadiendo el directorio resultado de la anterior
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-theme.css" rel="stylesheet">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body style="background-color:#E8F8F5;">
<div class="container">
<div class="row" >
<h3 style="text-align:center" class="text-primary"><b>WEB de JASO</b></h3>
<h3 style="text-align:center"><b>Vídeos, Aplicaciones, Fotos, Documentos</></h3>
</div><hr>
</div>
<div class="container" align="center">
<?php include_once 'tiraFotos.php'; ?>
<div class="container" >
<div class="col">
<?php dirTipo();?>
</div>
</div>
<hr>
<div class="container">
<div class="row">
<?php include_once 'enlaces.php'; ?>
</div><hr>
</div>
<div class="container">
<div class="column" align="center">
<a href="index.php" class="btn btn-primary">Volver</a><b>
</div>
</div>
</div>
</body>
</html>
<?php
$archivo = "Numero.dat";
$abre = fopen($archivo, "r");
$total = fread($abre, filesize($archivo));
fclose($abre);
$abre = fopen($archivo, "w");
$total = $total + 1;
$grabar = fwrite($abre, $total);
fclose($abre);
?>
<?php
function dirTipo()
{
?>
<form method="post" action="grupo.php" align="center">
<?php
$dir="raiz/";
echo 'Tipo de documento: ';
echo '<select name="valTipo" class="btn btn-primary">';
?>
<option value="">Seleccione una opción</option>
<option value="videos">Vídeos</option>
<?php
$directorio=opendir($dir);
$archivo = readdir($directorio);
print_r($archivo);
while ($archivo = readdir($directorio))
{
if(($archivo != '.')&&($archivo != '..'))
{
echo '<option value="'.$archivo.'">'.$archivo.'</option>';
}
}
closedir($directorio);
echo '</select>';
?>
<input type="submit" name="submit" value="Buscar" />
</form>
<?php
}
?>
la siguiente pagina con el siguiente select es:
<?php $tip = $_REQUEST['valTipo'];
if ($tip == 'videos')
{
include_once 'videos.php';
}
else
{
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-theme.css" rel="stylesheet">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body style="background-color:#E8F8F5;">
<div class="container">
<div class="row" >
<h3 style="text-align:center" class="text-primary"><b>WEB de JASO</b></h3>
<h3 style="text-align:center"><b>Vídeos, Aplicaciones, Fotos, Documentos</></h3>
</div><hr>
</div>
<div class="container" align="center">
<?php include_once 'tiraFotos.php'; ?>
<div class="container" >
<div class="col">
<?php dirTipo();?>
</div>
<div class="col">
<?php dirGrupo();?>
</div>
</div>
<hr>
<div class="container">
<div class="row">
<?php include_once 'enlaces.php'; ?>
</div><hr>
</div>
<div class="container">
<div class="column" align="center">
<a href="index.php" class="btn btn-primary">Volver</a><b>
</div>
</div>
</div>
</body>
</html>
<?php
}
function dirTipo()
{
?>
<div class="alert alert-info" role="alert">
<?php $tip = $_REQUEST['valTipo'];echo 'Tipo de documento seleccionado: '.$tip;?>
</div>
<?php
}
function dirGrupo()
{
?>
<form method="post" action="subGrupo.php" align="center">
<?php
$tip = $_REQUEST['valTipo'];
$tip = $_REQUEST['valTipo'];
$enviaTP=$_REQUEST['valTipo'];
$dir="raiz/".$tip;
echo 'Grupo de documentos: ';
echo '<select name="valGrupo" class="btn btn-primary">';
?>
<option value="">Seleccione una opción</option>
<?php
$directorio=opendir($dir);
$archivo = readdir($directorio);
print_r($archivo);
while ($archivo = readdir($directorio))
{
if(($archivo != '.')&&($archivo != '..'))
{
echo '<option value="'.$archivo.'">'.$archivo.'</option>';
}
}
closedir($directorio);
echo '</select>';
?>
<?php $tip = $_REQUEST['valTipo'];?>
<input type="hidden" name="valortipo" value="<?php echo $tip; ?>" />
<input type="submit" name="submit" value="Buscar" />
</form>
<?php
}
?>
El árbol de la WER tiene varias ramas así que utilizo varias paginas enlazadas, para que en la última lea todos los ficheros y con la clausula select elegir cual es el fichero que se desea abrir.
Que podría hacerlo solo con HTML y PHP, o necesitaría javascript o algún otro lenguaje para poder hacer todo el proceso sin salir de la página, el proceso que tengo de momento funciona perfectamente y rápido, pero si puede ser me gustaría hacer todo el proceso con los select retroalimentados en la misma página y reutilizando la misma función sin tener que duplicar procedimientos similares en las sucesivas páginas WEB
De momento lo he solucionado con una página index.php con una función que crea un SELECT con todos los directorios del directorio RAIZ de la WEB para seleccionar un directorio y pasarlo a otra página WEB que hace lo mismo pero cuyo directorio a leer es raiz/directorio1/ y a si sucesivamente hasta crear un directorio tipo raiz/dierectorio1/directorio2/directorio3 y leer todas las fotos incluidas.
El tema es , ¿qué necesitaría utilizar para que todos los select y funciones estuvieran en la misma página y se alimentara la función reiterativamente con los resultados de cada select para pasar el elegido al siguiente select?...
Las página web tiene esta estructura y las sucesivas reciben el resultado y llaman a una función similar añadiendo el directorio resultado de la anterior
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-theme.css" rel="stylesheet">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body style="background-color:#E8F8F5;">
<div class="container">
<div class="row" >
<h3 style="text-align:center" class="text-primary"><b>WEB de JASO</b></h3>
<h3 style="text-align:center"><b>Vídeos, Aplicaciones, Fotos, Documentos</></h3>
</div><hr>
</div>
<div class="container" align="center">
<?php include_once 'tiraFotos.php'; ?>
<div class="container" >
<div class="col">
<?php dirTipo();?>
</div>
</div>
<hr>
<div class="container">
<div class="row">
<?php include_once 'enlaces.php'; ?>
</div><hr>
</div>
<div class="container">
<div class="column" align="center">
<a href="index.php" class="btn btn-primary">Volver</a><b>
</div>
</div>
</div>
</body>
</html>
<?php
$archivo = "Numero.dat";
$abre = fopen($archivo, "r");
$total = fread($abre, filesize($archivo));
fclose($abre);
$abre = fopen($archivo, "w");
$total = $total + 1;
$grabar = fwrite($abre, $total);
fclose($abre);
?>
<?php
function dirTipo()
{
?>
<form method="post" action="grupo.php" align="center">
<?php
$dir="raiz/";
echo 'Tipo de documento: ';
echo '<select name="valTipo" class="btn btn-primary">';
?>
<option value="">Seleccione una opción</option>
<option value="videos">Vídeos</option>
<?php
$directorio=opendir($dir);
$archivo = readdir($directorio);
print_r($archivo);
while ($archivo = readdir($directorio))
{
if(($archivo != '.')&&($archivo != '..'))
{
echo '<option value="'.$archivo.'">'.$archivo.'</option>';
}
}
closedir($directorio);
echo '</select>';
?>
<input type="submit" name="submit" value="Buscar" />
</form>
<?php
}
?>
la siguiente pagina con el siguiente select es:
<?php $tip = $_REQUEST['valTipo'];
if ($tip == 'videos')
{
include_once 'videos.php';
}
else
{
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-theme.css" rel="stylesheet">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body style="background-color:#E8F8F5;">
<div class="container">
<div class="row" >
<h3 style="text-align:center" class="text-primary"><b>WEB de JASO</b></h3>
<h3 style="text-align:center"><b>Vídeos, Aplicaciones, Fotos, Documentos</></h3>
</div><hr>
</div>
<div class="container" align="center">
<?php include_once 'tiraFotos.php'; ?>
<div class="container" >
<div class="col">
<?php dirTipo();?>
</div>
<div class="col">
<?php dirGrupo();?>
</div>
</div>
<hr>
<div class="container">
<div class="row">
<?php include_once 'enlaces.php'; ?>
</div><hr>
</div>
<div class="container">
<div class="column" align="center">
<a href="index.php" class="btn btn-primary">Volver</a><b>
</div>
</div>
</div>
</body>
</html>
<?php
}
function dirTipo()
{
?>
<div class="alert alert-info" role="alert">
<?php $tip = $_REQUEST['valTipo'];echo 'Tipo de documento seleccionado: '.$tip;?>
</div>
<?php
}
function dirGrupo()
{
?>
<form method="post" action="subGrupo.php" align="center">
<?php
$tip = $_REQUEST['valTipo'];
$tip = $_REQUEST['valTipo'];
$enviaTP=$_REQUEST['valTipo'];
$dir="raiz/".$tip;
echo 'Grupo de documentos: ';
echo '<select name="valGrupo" class="btn btn-primary">';
?>
<option value="">Seleccione una opción</option>
<?php
$directorio=opendir($dir);
$archivo = readdir($directorio);
print_r($archivo);
while ($archivo = readdir($directorio))
{
if(($archivo != '.')&&($archivo != '..'))
{
echo '<option value="'.$archivo.'">'.$archivo.'</option>';
}
}
closedir($directorio);
echo '</select>';
?>
<?php $tip = $_REQUEST['valTipo'];?>
<input type="hidden" name="valortipo" value="<?php echo $tip; ?>" />
<input type="submit" name="submit" value="Buscar" />
</form>
<?php
}
?>
El árbol de la WER tiene varias ramas así que utilizo varias paginas enlazadas, para que en la última lea todos los ficheros y con la clausula select elegir cual es el fichero que se desea abrir.
Que podría hacerlo solo con HTML y PHP, o necesitaría javascript o algún otro lenguaje para poder hacer todo el proceso sin salir de la página, el proceso que tengo de momento funciona perfectamente y rápido, pero si puede ser me gustaría hacer todo el proceso con los select retroalimentados en la misma página y reutilizando la misma función sin tener que duplicar procedimientos similares en las sucesivas páginas WEB
Valora esta pregunta


0