PHP - Problema al pasar un valor por un formulario

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

Problema al pasar un valor por un formulario

Publicado por Unexes (124 intervenciones) el 09/02/2014 12:00:42
Hola a tod@s.

Vereis tengo una página que me da un pequeño problema que no se solucionar, cuando se carga por primera vez me coge correctamente el valor de 'Actividad' se lo pasa a la variable "$tipoEmpresa" y me muestra correctamente las empresas que se corresponden con esa Actividad de todas las poblaciones. Pero en esa página cuando me esta mostrando lo anterior tengo un select "selpoblacion" para filtrar solo las empresas de esa actividad que se correspondan con una determinada población, pues bien cuando selecciono alguna población y pulso sobre el botón "BUSCAR" me recarga la página y me da el siguiente error:
1
( ! ) Notice: Undefined index: Actividad in C:\wamp\www\Tu Zona Valencia-2014-01-25\Actividades.php on line 2
Y me muestra todas las empresas independientemente del tipo de 'Actividad' que tengan de la población seleccionada, lo correcto seria que me mostrara solo las empresas que se corresponde con la actividad que estaba seleccionada y de la población seleccionada.
Si a $tipoEmpresa le pongo un valor fijo como por ejemplo:
$tipoEmpresa = "Inmobiliaria";
Funciona correctamente

Este es el código, espero me podais ayudar.

Gracias a todos.
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
<?php
$tipoEmpresa = $_GET ["Actividad"]; // De esta forma cuando entra por primera vez a Actividades.php funciona
 bien pero al utilizar la seleccion por población me recarga la página, me da el error y me saca todos
los de esa población independientemente de la actividad que tengan.
 
echo $tipoEmpresa; // Compruebo que llega el valor, la primera vez llega correctamente. 
?>
  <table width="765" height="80" border="0">
		<?php
$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM clientes WHERE  curdate() >= Fecha And curdate() <= FechaRetirada And Activacion = '1' And (clientes.Actividades = '".$tipoEmpresa."' OR clientes.Actividades2 = '".$tipoEmpresa."')";
 
        if (isset($_GET['selpoblacion'])and $_GET['selpoblacion'] >0) {
        $txt_selpoblacion = $_GET["selpoblacion"];
	    $sql .= "AND idpoblacion =  $txt_selpoblacion ";
}
$sql .= ' ORDER BY rand(' .$dias_dif.') ';
        if (!($result = @mysql_query($sql))) {
            die(mysql_error());
        }
$tabla = mysql_query($sql);
while ($registro = mysql_fetch_array($tabla)) {
		?>
        <tr>
          <td><a href="<?php echo $registro['Url']; ?>"><img border="0" src="ImagClientes/<?php echo $registro['Imagenes']; ?>"></a></td>
        </tr>
<?php
}
mysql_free_result($tabla);
?>
<form name="fecha" method="GET" action="Actividades.php">
     <select name="selpoblacion" id="selpoblacion"  style class="Guias2">
		<option value="" selected>Todas las poblaciones</option>
<?php
	$tablapoblaciones = mysql_query("SELECT * FROM poblaciones ORDER BY poblacion ASC");
	while ($registropoblacion = mysql_fetch_array($tablapoblaciones)) {
?>
<option value="<?php echo $registropoblacion['Id']; ?>"><?php echo $registropoblacion['Poblacion']; ?></option>
<?php
	}
	mysql_free_result($tablapoblaciones);
		?>
	</select>
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="BUSCAR">
 </form>
</body>
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
sin imagen de perfil

Problema al pasar un valor por un formulario

Publicado por bathorz (33 intervenciones) el 09/02/2014 15:52:24
¿De qué parte del select sacas $_GET["selpoblacion"]?
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

Problema al pasar un valor por un formulario

Publicado por bathorz (33 intervenciones) el 09/02/2014 16:17:25
Olvida la pregunta anterior.
Haciendo la consulta por terminal SQL ¿tiene problemas?
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 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema al pasar un valor por un formulario

Publicado por Unexes (124 intervenciones) el 09/02/2014 20:17:43
Hola bathorz.

Veras he comprobado la consulta por terminal y me da un error:

1
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"SELECT SQL_CALC_FOUND_ROWS * FROM clientes WHERE curdate() >= Fecha And curdat' at line 1

Pero a pesar de que es un problema del que no me habia dado cuenta no creo que este ahi el problema que comentaba ya que si a la variable "$tipoEmpresa" le doy un valor fijo de una determinada Actividad, funciona perfectamente, de hecho aunque no le de un valor fijo a la variable, cuando entra por primera vez, tambien funciona bien.

Lo que ocurre tal como comente cuando se abre la pagina Actividades.php por primera vez la variable "$tipoEmpresa toma el valor "Actividades" que le paso desde otra página y funciona perfectamente, pero cuando selecciono en el select Población del form una determinada población la página se llama así misma en el action del form y entoces no se como volverle a pasar el valor "Actividades" a la página para que al recargarse le vuelva a pasar el valor a la variable "$tipoEmpresa", por eso cuando selecciono una poblacion me salen los de esa población pero me salen todas las actividades de esa población, y es porque no le vuelvo a pasar el valor de la "Actividad" que es exactamente lo que no se como se tiene que hacer.
Para terminar me gustaria saber porque me da este error la consulta cuando de entrada funciona bien supongo que debe de tratarse de algunas comillas que estan mal puestas.

Espero me podais ayudar, un saludo
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 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema al pasar un valor por un formulario

Publicado por Unexes (124 intervenciones) el 09/02/2014 20:49:58
Hola bathorz.

Perdona la consulta esta bien no da ningun error en el terminal, el error era mio al copiar y pegar la consulta en el terminal.

El problema principal por el que no funciona al recargarse la página, sigue siendo el mismo.

Espero me puedas ayudar, Un saludo.
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema al pasar un valor por un formulario

Publicado por xve (6935 intervenciones) el 10/02/2014 07:50:07
Hola Unexes, según veo, el problema lo tienes porque la hacer la búsqueda, tu script no envia el valor de $_GET["Actividad"], sino que envía el valor $_GET["selpoblacion"], por lo que no puede coger dicho valor, y aparece el warning y el error.

En el buscador tiene que poder seleccionar la actividad?
Si no la tienen que seleccionar, pon oculta la que viene la primera vez... algo así dentro del <form>:
1
<input type="hidden" name="Actividad" value="<?php echo$_GET["Actividad"]?>">

Coméntanos, ok?
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 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

SOLUCIONADO: Problema al pasar un valor por un formulario

Publicado por Unexes (124 intervenciones) el 10/02/2014 08:15:39
Gracias xve.

Me faltaba poner la linea de código que me has puesto, ahora funciona perfectamente.

Como comente en el anterior post no me aparece ningun warning ni ningun error, eso fue un error mio al copiar y pegar en el terminal.

Muchas gracias a ambos por vuestra ayuda.
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