Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Trenkos en 03 de Septiembre 2015, 14:21

Título: PHP / HTML - Mantener opciones en los forms que no se borren datos formularios
Publicado por: Trenkos en 03 de Septiembre 2015, 14:21
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?
Título: Re:PHP / HTML - Mantener opciones en los forms
Publicado por: GonzaH 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!
Título: Re:PHP / HTML - Mantener opciones en los forms
Publicado por: Trenkos 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>
Título: Re:PHP / HTML - Mantener opciones en los forms
Publicado por: GonzaH 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!
Título: Re:PHP / HTML - Mantener opciones en los forms
Publicado por: Trenkos en 03 de Septiembre 2015, 22:05
Muchas gracias.
Creo que es suficiente. En principio probaré con cookies (por ninguna razón en particular)