Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Como pasar dos variables de dos select a un php en misma pagina

como podria pasar dos variables de dos select, y que los dos se muestren. en mi codigo que estoy realizando solo toma uno a la vez
<select name="estado" id="estado" onchange="enviar_valores(this.value);">
<option value="">Seleccionar</option>
<option value="Cerrado">Cerrado</option>
<option value="Asignado">Asignado</option>
<option value="En Curso">En Curso</option>
</select>

<select name="dias" id="dias" onchange="enviar_valores2(this.value);">
<option value="">Seleccionar</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<script>
function enviar_valores(valor){
location.href='?valor=' + valor;
}

function enviar_valores2(valor2){
location.href='?valor2=' + valor2;
}
</script>

<?php
if(isset($_GET['valor']))
{
$estado=$_GET['valor'];
echo $estado;
}
if(isset($_GET['valor2']))
{
$dia=$_GET['valor2'];
echo $dia;
? }
? >

Editado
0
Puntos
3618
Visitas
4
Resp
Por kevincs7 hace 70 meses
Principiante
Respuesta #1
lo mismo te conviene meter los 2 select dentro de un form y enviarlos cuando los 2 sean completados, te pongo un ejemplo completo con tu código pero ojo, he agregado jquery para hacerlo mas practico

supongo que tu ya lo tienes en tu sitio... si es así quita la linea de este código para no tenerlo duplicado.

ejemplo:
<?php if(isset($_POST['estado']) && isset($_POST['dias'])){
	$estado=$_POST['estado'];
	$dias=$_POST['dias'];

	echo 'El estado es: '.$estado.' y los días son: '.$dias;

} ?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="formSelect" action="" method="post">
<select name="estado" id="estado" onchange="enviar_valores();">
<option value="">Seleccionar</option>
<option value="Cerrado">Cerrado</option>
<option value="Asignado">Asignado</option>
<option value="En Curso">En Curso</option>
</select>

<select name="dias" id="dias" onchange="enviar_valores();">
<option value="">Seleccionar</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>

<script>
	function enviar_valores(){
		if($('#estado').val()!='' && $('#dias').val()!=''){
			$('#formSelect').submit();
		}
	}
</script>
1
Puntos
Por alber hace 70 meses
Administrador
Respuesta #2
claro, ya tenia el jquery en mi codigo... habria alguna manera para que no necesariamente seleccione los dos SELECT para que pueda pasar los valores? por ejemplo que si selecciono el primero(solo ese) , pueda pasar el valor y ya despues pasar el siguiente?
0
Puntos
Por kevincs7 hace 70 meses
Principiante
Respuesta #3
si pero tienes que usar algo mas de php:
<?php if(isset($_POST['estado']) || isset($_POST['dias'])){
	$estado=$_POST['estado'];
	$dias=$_POST['dias'];

	echo $estado.'<br>';
	echo $dias;

} ?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="formSelect" action="" method="post">
<select name="estado" id="estado" onchange="enviar_valores();">
<option value="">Seleccionar</option>
<option <?php if(isset($_POST['estado']) && $_POST['estado']=='Cerrado') echo 'selected'; ?> value="Cerrado">Cerrado</option>
<option <?php if(isset($_POST['estado']) && $_POST['estado']=='Asignado') echo 'selected'; ?> value="Asignado">Asignado</option>
<option <?php if(isset($_POST['estado']) && $_POST['estado']=='En Curso') echo 'selected'; ?> value="En Curso">En Curso</option>
</select>

<select name="dias" id="dias" onchange="enviar_valores();">
<option value="">Seleccionar</option>
<option <?php if(isset($_POST['dias']) && $_POST['dias']=='1') echo 'selected'; ?> value="1">1</option>
<option <?php if(isset($_POST['dias']) && $_POST['dias']=='2') echo 'selected'; ?> value="2">2</option>
<option <?php if(isset($_POST['dias']) && $_POST['dias']=='3') echo 'selected'; ?> value="3">3</option>
</select>
</form>

<script>
	function enviar_valores(){
			$('#formSelect').submit();	
	}
</script>
0
Puntos
Por alber hace 70 meses
Administrador
Respuesta #4
mas que nada por que tienes que dejar marcado el paso anterior para recordarlo en el siguiente paso pero con el ejemplo que te ha puesto arriba lo tienes..
0
Puntos
Por alber hace 70 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate