PHP - Problemas con un if $_Session

   
Vista:

Problemas con un if $_Session

Publicado por Unexes (124 intervenciones) el 30/06/2014 10:32:15
Hola a tod@s vereis tengio un pequeño problema que no se como resolverlo, a ver si me podeis ayudar.

Bueno resumire a lo maximo pero intentare esplicarme lo mejor posible y si necesitais que ponga mas código no hay problema.

Tengo una página principal donde con 2 "requires" he puesto en la parte Izquierda una serie de filtros para filtrar los registros de una base de datos mysql y en la parte derecha muestro esos registros actualizandolos constantemente con el evento "onchange" y una funcion, y tal como esta funciona perfectamente.

Pero mi problema es que quiero mejorarla de manera que que en la parte izquierda en la zona de filtros donde tengo por ejemplo 2 selects, en el primero de ellos se selecciona si se trata de "Obra nueva" o "Segunda mano" y en el otro select se selecciona como esta "amueblado" las opciones que ofrece son lo de menos, el valor del select primero se guarda en una variable de $_Session,.

Lo que quiero es que si en el primer select el de las opciones del tipo de obra se selecciona "Obra nueva" desaparezca o se quede disable el segundo select el correspondiente a "amueblado".

Lo he intentado con el código que muestro a continuación pero el problema es que cuando vario el valor del seclect tipo de obra me refresca correctamente la parte derecha y me muestra los registros que cumplen con ese criterio, pero no me refresca la parte Izquierda donde estan los selects que utilizo para filtrar por lo tanto me sigue mostrando el select de "amueblado"
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<table  height="60" border="0" align="center">
<tr>
<td align="center" class="SeleccionSuperior">Obra nueva / Segunda mano:</td>
</tr>
<tr>
  <td align="center">
        <select name="selobra" id="selobra" class="Guias3" style="cursor:default" onChange="cargarContenido('ContenidoVentas.php')">
    <option value="Visualizando todos" selected>&nbsp;Visualizando todos&nbsp;&nbsp;&nbsp;</option>
    <option value="<?php echo $_SESSION["Obra"]; ?>" selected>&nbsp;&nbsp;<?php echo $_SESSION["Obra"]; ?></option>
<?php
    $tablaobra = mysql_query("SELECT * FROM tb_obra  ORDER BY Obra ASC");
    while ($registroobra  = mysql_fetch_array($tablaobra ))
        if (isset($_SESSION["Obra"])<> 'Visualizando todos')
		{
         echo "<option value='".$registroobra['Obra']."' selected>&nbsp;&nbsp;".$_SESSION["Obra"]."</option>";
        }else{
         echo "<option value='".$registroobra['Obra']."' >&nbsp;&nbsp;".$registroobra['Obra']."</option>";      }
    mysql_free_result($tablaobra);
?>
   </select>
 
    </td>
    </tr>
    <tr>
        <td height="5"></td>
     </tr>
    </table>
 
<table width="195" height="30" border="0"   cellspacing="5">
     <tr>
        <td align="center" class="TextoMenuLateralG">AMUEBLADO:</td>
     </tr>
     <tr>
<?php
 if($_SESSION['Obra'] == 'Segunda mano' )
 {
?>
        <td align="center">
<select name="selamueblado" id="selamueblado" class="Guias3" Onchange="cargarContenido('ContenidoVentas.php')">
<?php
    if ( isset($_GET['selamueblado']) ){
         echo '<option value="-1" >&nbsp;Indiferente&nbsp;</option>';
       }else{
         echo  '<option value="-1" selected >&nbsp;Indiferente&nbsp;</option>';
}
	$tablaamueblado = mysql_query("SELECT * FROM tb_amueblado ORDER BY Amueblado ASC");
	while ($registroamueblado = mysql_fetch_array($tablaamueblado)){
 
    if(  isset($_GET['selamueblado']) and $_GET['selamueblado']==$registroamueblado['Amueblado'] ){
      $seleccionado = "selected";
      }else{
      $seleccionado = "";
      }
	  echo "<option value='".$registroamueblado['Amueblado']."' $seleccionado >".$registroamueblado['Amueblado']."</option>";
}
 
	mysql_free_result($tablaamueblado);
		?>
	</select>
        </td>
<?php
}else{
?>
 
<?php
}
?>
     </tr>
     <tr>
     <td height="5"></td>
     </tr>
</table>
He probado de varias formas y no lo he podido hacer, porque no se como volver a cargar la zona de filtros.

Espero me podais ayudar, gracias por vuestro tiempo, un saludo a tod@
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

Problemas con un if $_Session

Publicado por Eugenio (5 intervenciones) el 30/06/2014 13:30:12
Tratar de empezar a arreglar esto:

1
2
3
4
5
6
7
<option value="Visualizando todos">&nbsp;Visualizando todos&nbsp;&nbsp;&nbsp;</option>
    <option value="<?php echo $_SESSION["Obra"]; ?>" selected>&nbsp;&nbsp;<?php echo $_SESSION["Obra"]; ?></option>
<?php
    $tablaobra = mysql_query("SELECT * FROM tb_obra  ORDER BY Obra ASC");
    while ($registroobra  = mysql_fetch_array($tablaobra ))
        if (isset($_SESSION["Obra"]) && $_SESSION["Obra"]<>'Visualizando todos')
		{
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

Problemas con un if $_Session

Publicado por Unexes (124 intervenciones) el 01/07/2014 08:43:07
Gracias Eugenio por tu correccion,

Veras he probado la corrección que me indicas y funciona aparentemente igual que la mia, no se que diferencia hay entre ambas en cuanto a funcionamiento, me gustaria que me lo explicaras.

Volviendo a mi problema no esta en realidad en esas lineas que tan amablemente me as indicado ya que lo que necesito es que al seleccionar la opción "Obra nueva" en ese select me recargue/refresque la zona donde esta ese select y me ponga en disable el select de amueblado, para esplicarme un poco mejor lo resumo de nuevo.

Tengo una pagina con 2 zonas.
Zona 1 se encuentran los selects y otros para filtrar.
Zona 2 aparecen los resultados de los registros que cumplen con las condiciones de lo seleccionado en la zona 1

cada vez que cambio algo en la zona 1, cambia el resultado en la zona 2 gracias a la funcion:
Onchange="cargarContenido('ContenidoVentas.php')"
hasta aqui todo bien.
Pero cuando en la zona 1 en el select "selobra" selecciono "Obra nueva" necesito tambien refrescar la zona 1 para que desaparezca o se ponga en disable el select "sel amueblado" que se encuentra en la misma zona 1
y eso es lo que no consigo hacer, como veras en el codigo que puse al principio, puse antes del "selamueblado" un if...else para preguntar el valor de la $_session ["Obra"] y dependiendo del valor hacer una u otra cosa pero es hay donde tengo el problema porque no me recarga/refresca la zona 1, necesito recargar tambien esa zona cada vez que cambia el valor del "selobra", me repito, la zona 2 funciona perfectamente.
Bueno espero que me podais ayudar.
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