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)