Autor Tema: PHP / HTML - Mantener opciones en los forms que no se borren datos formularios  (Leído 6047 veces)

Trenkos

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Buenas tardes.

No he podido buscar información porque ni siquiera sé como buscarla.

He visto formularios donde al seleccionar las opciones y enviar el submit la información en el form permanece y quiero hacer lo mismo.

No sé si se puede hacer con PHP.

Mi caso:

Tengo un form con muchas opciones (fechai, fechaf, horai, horaf, etc, etc...)

Al hacer submit realiza una query MySQL y devuelve el resultado en formato listado por pantalla.

En ese momento el form se resetea y si quiero hacer otra consulta similar es necesario volver a cargar todo el form.

El form, la query y el listado están en el mismo fichero php. (porque intenté cargar el form dándole value=[POST] pero es un disparate :o)

Alguna solución?
« Última modificación: 06 de Septiembre 2015, 17:50 por César Krall »

GonzaH

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 30
  • SMFPersonal
    • Ver Perfil
    • SMFPersonal
Re:PHP / HTML - Mantener opciones en los forms
« Respuesta #1 en: 03 de Septiembre 2015, 17:08 »
Hola Trenkos, podrias dejar el código fuente para poder ver como lo estas haciendo y asi  brindarte ayuda.

¡Saludos!

Trenkos

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:PHP / HTML - Mantener opciones en los forms
« Respuesta #2 en: 03 de Septiembre 2015, 17:29 »
Claro, mas faltaba, aunque no se si es un poco largo:

Código: [Seleccionar]
<body>
</style>
<div id="wwwtitle">
<h1 class="wwwtitle"><span class="web">PRUEBA</span></h1>
</div>
<div class="main">

<?php
date_default_timezone_set('Europe/London');
session_start();
//include ("log.php");
require "link.php";
if(!isset($_SESSION['userid']))
{
header('location: login.php');
}
else
{
?>

<form class="menu">
<a href="/prueba/servicios.php" class="btnizq">Servicios</a>
<a href="/prueba/informes.php" class="btncnt">Informes</a>
<a href="/prueba/importar.php" class="btncnt">Importar</a>
</form>
<form class="menu">
<select name="entradaopciones" onChange="location = entradaopciones.options[entradaopciones.selectedIndex].value;" class= "combocnt">
<optgroup label="Opciones">
<option value="/prueba/importar.php"><?php echo $_SESSION['user'];?></option>
<option value="/prueba/cambioclave.php">Contraseña</option>
<option value="/prueba/test_conn.php">Test Conn DB</option>
</optgroup>
</select>
<a href="/prueba/logout.php" class="btnlogout">Desconectar</a>
</form>
<br/>
</div>
<fieldset class = "informes">
<form class="menu">
<a href="/prueba/listar_clientes.php" class="btn">Listar Clientes</a>
<a href="/prueba/listar_clientes_consumo.php" class="btn">Consumo Clientes</a>
<a href="/prueba/listar_agentes.php" class="btn">Agentes</a>
<a href="/prueba/listar_proveedores.php" class="btn">Proveedores</a>
</form>
</fieldset>

<div id="contenedor">
<div id="contenedorlibre">
<form method="post" action="" enctype="multipart/form-data">
<ul>
<li id="mitad" class="izquierda">
<div>
<span class="completo">
<label for="cliente">Cliente código:</label>
<input id="cliente" type="text" name="cliente">
</span>
</div>
</li>
<li id="dostercios" class="derecha">
<div>
<span class="mitad">
<label for="fecha">Desde</label>
<input id="fecha" type="date" name="fecha" value="">
</span>
<span class="mitad">
<input name="fechafsi" type="checkbox" />
<label for="fechaf">Hasta</label>
<input id="fechaf" type="date" name="fechaf" value="">
</span>
</div>
</li>
<li class="botones">
<input name="listar" type="submit" value="Listar" class="btn"></input>
</li>
</ul>
</form>
</div>
</div>
<div class="body">
<?php
$cliente "%".$_POST['cliente']."%";
if ($_POST['fecha'] == "")
{
echo "Seleccione la fecha DESDE";
}
else
{
$datei $_POST['fecha'];
if (($_POST['fechafsi'])== true)
{
$datef $_POST['fechaf'];
}
else
{
$_POST['fechaf'] = date("Y-m-d H:i:s"time() + 3600);
$datef $_POST['fechaf'];
}
echo "Listado desde el: ".$datei;
echo " - hasta el: ".$datef;
if (($_POST['fechafsi'])== false)
{
echo " | cliente vacio";
$result mysqli_query($link"SELECT cc_call.card_id, 
SUM(cc_call.buycost) AS costo, 
SUM(cc_call.sessionbill) AS venta, 
(SUM(cc_call.sessionbill) - SUM(cc_call.buycost)) AS beneficio,
cc_call.id_tariffgroup AS tarifa,
cc_card.username AS cliente,
cc_card.company_name AS nombre,
cc_card.id_company AS marca,
cc_card_group.name AS agente
FROM cc_call
INNER JOIN cc_card ON cc_call.card_id = cc_card.id
INNER JOIN cc_card_group ON cc_card.id_group = cc_card_group.id
WHERE  cc_call.starttime >= '
$datei' AND cc_card.username LIKE '$cliente'
GROUP BY cc_call.card_id"
);
}
elseif (($_POST['fechafsi'])== true)
{
$result mysqli_query($link"SELECT cc_call.card_id, 
SUM(cc_call.buycost) AS costo, 
SUM(cc_call.sessionbill) AS venta, 
(SUM(cc_call.sessionbill) - SUM(cc_call.buycost)) AS beneficio,
cc_call.id_tariffgroup AS tarifa,
cc_card.username AS cliente,
cc_card.company_name AS nombre,
cc_card.id_company AS marca,
cc_card_group.name AS agente
FROM cc_call
INNER JOIN cc_card ON cc_call.card_id = cc_card.id
INNER JOIN cc_card_group ON cc_card.id_group = cc_card_group.id
WHERE  cc_call.starttime BETWEEN '
$datei' AND '$datef' AND cc_card.username LIKE '$cliente'
GROUP BY cc_call.card_id"
);
}
}
$linea 0;

echo "<div class = 'listados'>";
echo "<table class = 'normal' summary = 'Tabla generica'>";

echo "<tr>";
echo "<th>CLIENTE</th> \n";
echo "<th>NOMBRE</th> \n";
echo "<th>COMPRA</th> \n";
echo "<th>VENTA</th> \n";
echo "<th>BENEFICIO</th> \n";
echo "<th>MARGEN</th> \n";
echo "<th>AGENTE</th> \n";
echo "<th>COMPAÑIA</th> \n";
echo "<th>TARIFA</th> \n";
echo "</tr> \n";

while ($resultados mysqli_fetch_array($result))
{
if ($linea == 1)
{
echo "<tr class ='odd'>";
$linea 0;
}
else
{
echo "<tr class ='even'>";
$linea 1;
}
$margen = ($resultados['venta']-$resultados['costo'])*100/$resultados['venta'];
if ($resultados['marca'] == 0)
{
$marca "prueba";
}
else
{
$marca "prueba2";
}
echo "<td>".$resultados['cliente']."</td> \n";
echo "<td>".$resultados['nombre']."</td> \n";
echo "<td>".number_format($resultados['costo'], 2)."</td> \n";
echo "<td>".number_format($resultados['venta'], 2)."</td> \n";
echo "<td>".number_format($resultados['beneficio'], 2)."</td> \n";
echo "<td>".number_format($margen,2)."%</td> \n";
echo "<td>".$resultados['agente']."</td> \n";
echo "<td>".$marca."</td> \n";
echo "<td>".$resultados['tarifa']."</td> \n";
}
echo "</table>";
echo "</div>";

}
mysqli_free_result($result);
mysqli_close($link);
?>

</div>

</body>

GonzaH

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 30
  • SMFPersonal
    • Ver Perfil
    • SMFPersonal
Re:PHP / HTML - Mantener opciones en los forms
« Respuesta #3 en: 03 de Septiembre 2015, 19:49 »
Podrias leer algo de esto a ver si te aclara un poco el panorama http://www.nitrico.com.ar/Notas/PHP-Estado/PHP-Estado.htm Desde mis conocimiento no te podre ayudar Trenkos

¡Saludos!

Trenkos

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:PHP / HTML - Mantener opciones en los forms
« Respuesta #4 en: 03 de Septiembre 2015, 22:05 »
Muchas gracias.
Creo que es suficiente. En principio probaré con cookies (por ninguna razón en particular)

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".