PHP - select php

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 26 puestos en PHP (en relación al último mes)
Gráfica de PHP

select php

Publicado por jose (4 intervenciones) el 02/06/2019 16:10:07
Hola buenas tengo una pregunta, como puedo hacer que si en un select no he seleccionado ninguna opción, luego no me entre al isset. Pongo el código abajo y a ver si lo explico mejor.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
if (isset($_REQUEST['cicle'], $_REQUEST['ordenar'])) {
	 	echo"cicle";
		$sel = $con -> query ("select * from idalumnes where ".$_REQUEST['cicle']. " order by ".$_REQUEST['ordenar']);
	}
 
	if (isset($_REQUEST['curs'], $_REQUEST['ordenar']) ) {
		echo"curs";
		$sel = $con -> query ("select * from idalumnes where ".$_REQUEST['curs']. " order by ".$_REQUEST['ordenar']);
	}
 
	else {
		$sel = $con -> query ("select * from idalumnes");
	}
 
echo "
	<form 'action=taula_alumnes_filtre.php?' method='post'>
		<table border='1'>
			<tr>
				<th align='left'>
					<br>Filtrat:
				</th>
				<th>
					<br>
					<select name='cicle'>
					  <option value=''>Cicle</option>
					  <option value='cicle = 1'>SMX</option>
					  <option value='cicle = 2'>ASIX</option>
					</select>
				</th>
				<th>
					<br>
					<select name='curs'>
					  <option value=''>Curs</option>
					  <option value='curs = 1'>1er</option>
					  <option value='curs = 2'>2on</option>
					</select>
				</th>
                        </tr>
			<tr>	
				<td align='left'>
					
					<input type='submit' name='submit' value='Refrescar'>
				</td>
			</tr>
		</table>
	</form>";

El problema está en que si en el formulario no selecciono ninguna opción es decir value = '' me entra en el isset igual. Si alguien sabe como hacerlo para que si no selecciono ninguna opción no entre se lo agradecería. Gracias un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

select php

Publicado por Yamil Bracho (24 intervenciones) el 02/06/2019 17:05:05
isset() retorna TRUE si la variable esta inicializada. En este caso la variable existe dentro del arreglo $_POST.
Tendrias que agregar el chequeo si la variable esta en blanco con empty(). Asi te quedaria

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (isset($_REQUEST['cicle'], $_REQUEST['ordenar'])) && (!empty($_REQUEST['cicle']) && !empty($_REQUEST['ordenar'])) {
    echo"cicle";
 
    $sel = $con -> query ("select * from idalumnes where ".$_REQUEST['cicle']. " order by ".$_REQUEST['ordenar']);
}
 
 
if (isset($_REQUEST['curs'], $_REQUEST['ordenar'])) && (!empty($_REQUEST['curs']) && !empty($_REQUEST['ordenar'])) {
 
    echo"curs";
 
    $sel = $con -> query ("select * from idalumnes where ".$_REQUEST['curs']. " order by ".$_REQUEST['ordenar']);
 
} else {
 
    $sel = $con -> query ("select * from idalumnes");
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 26 puestos en PHP (en relación al último mes)
Gráfica de PHP

select php

Publicado por jose (4 intervenciones) el 02/06/2019 22:02:09
Muchas gracias por tu respuesta y por tu tiempo, para la próxima la tendré en cuenta, siempre está bien aprender.
Al final lo he arreglado de otra forma con los conocimientos que tenía.
Lo que he echo es que en vez de dejar en blanco el valor por defecto del select lo he puesto como 0 y en el if que entre si es diferente a 0.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar