PHP - consulta para "pulir" un combobox de 3 niveles

 
Vista:
sin imagen de perfil

consulta para "pulir" un combobox de 3 niveles

Publicado por Emiliano (1 intervención) el 17/12/2015 16:39:56
Hola gente. Soy nuevo en php y me gustaria ver si me pueden dar una manito para mejor el siguiente combobox. Lo que necesitaria son dos cosas:
1) luego de seleccionar los tres select, y quiero modificar el primer select, me borre el contenido del segundo. (Al momento me lo deja puesto y no deberia) y lo segundo que el 4 combobox me lo ejecute pero luego de darle a un boton submit. Podran darme una mano?
Muy agradecido!!!
Adjunto el codigo

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<?php
 
session_start();
 
mysql_connect("localhost","root","root") or die("No se puede conectar");
mysql_select_db("base") or die ("No se ha podido seleccionar la Base de Datos");
//Recuperacion de las variables convertidas en sesiones
 
 
$esp=$_SESSION['esp2']=@$_REQUEST['esp'];
$str = $esp;
$esp =explode('|', $str, 2);
 
 
$prov=$_SESSION['prov2']=@$_REQUEST['prov'];
 
$str = $prov;
$prov =explode('|', $str, 2);
 
 
$ciu=$_SESSION['ciu2']=@$_REQUEST['ciu'];
$str = $ciu;
$ciu =explode('|', $str, 2);
 
$dat=$_SESSION['dat2']=@$_REQUEST['dat'];
$str = $dat;
$dat =explode('|', $str, 2);
?>
 
<style type="text/css">
 
@import url("../../../Users/net/Documents/Unnamed Site 8/style.css");
.style1 {font-size: 30px;	font-weight: bold;}
.style2 {color: #FFFFFF}
</style>
<form name="form1" >
<style>
select{padding:5px;border:1px solid #bbb;border-radius:6px;margin:5px ;box-shadow:0 0 20px #ddd;width: 250px;"}
#resultados{margin:5px 0;padding:10px;border:10px solid #ddd;}
</style>
 
<hr>
<b><font size="5" align="hcenter" color="#151B54">Urgencias e Internaciones Programadas</font></b>
<hr>
 
<strong>Seleccione Especialidad:<span class="style2">..........</span></strong>
<?php
//QUERY COMBO 1
 
 
$query="select * from especialidades";
$res=mysql_query($query);
?>
 
<select name="esp" onchange="this.form.submit()" >
 
<?php
if($esp[0]!='')
{	?>
    <option value="<?php echo $esp[0]."|".$esp[1]; ?>"><?php echo $esp[1]; ?></option>
	<?php
}
 
else
{
 
?>
    <option > </option><?php
 
}?>
 
	<?php while($row=mysql_fetch_array($res))
 
	{?>
 
	<option value="<?php echo $row['id_especialidad']."|".$row['especialidad']?>"> 	<?php echo htmlentities($row['especialidad']);?>
	</option>
	<?php
 
	}
	?>
</select>
</p>
 
<?php
//QUERY COMBO 2
 
$query2="select * from provincias WHERE id_especialidad=$esp[0]";
$res2=mysql_query($query2);
 
?>
 
<strong>Seleccione Provincia:</strong><span class="style2">...............</span>
<select name="prov"  onchange="this.form.submit()">
 
<?php
 
if($prov[0]!='')
{?>
    <option value="<?php echo $prov[0]."|".$prov[1]; ?>"><?php echo $prov[1]; ?></option><?php
}
else
{?>
    <option > </option><?php
}?>
 
<?php
while($row2=mysql_fetch_array($res2))
        {
		?>
 
        <option value="<?php echo $row2['id_provincia']."|".$row2['provincia']?>"><?php echo htmlentities($row2['provincia']);?></option>
        <?php
		}
		?>
</select>
 
</p>
<p>
 
<?php
//QUERY COMBO 3
 
$query3="select * from ciudades WHERE id_provincia=$prov[0]";
$res3=mysql_query($query3);
 
?><strong>Seleccione Ciudad o Barrio:</strong><span class="style2">...</span>
<select name="ciu"  onchange="this.form.submit()">
        <?php if($ciu[0]!=''){	?>
    <option value="<?php echo $ciu[0]; ?>"><?php echo $ciu[1]; ?></option><?php 	} else { ?>
    <option ></option><?php }?>
        <?php while($row3=mysql_fetch_array($res3))
        {
		?>
        <option value="<?php echo $row3['id_ciudad']."|".$row3['ciudad']?>"><?php echo htmlentities($row3['ciudad']);?></option>
 
        <?php
		}
 
 
		?>
</select>
</p>
 
 
<?php
 
//QUERY COMBO 4
 
$query4="select * from tabla_datos WHERE id_ciudad=$ciu[0]";
$res4=mysql_query($query4);
 
?>
 
 
<?php
if($dat[0]!='')
{
    ?> <input type="submit" name="Submit" value="Continue"></p>
    <option value="<?php echo $dat[0]; ?>"><?php echo $dat[1]; ?></option><?php
}
else
{ ?>
 
    <option class="example style1" >Resultados de la B&uacute;squeda </option></p>
    <p>
      <?php
}?>
  </p>
    <div id="resultados">
 
 
    <?php
 
while(@$row4=mysql_fetch_array($res4))
    {
		?>
    </p>
 
 
    <strong>-------------------------------------------------------------------------------------------------------</strong></p>
  <p><strong>Especialidad:</strong> <?php echo $esp[1];?>
</p>
    <strong>Provincia: </strong> <?php echo $prov[1];?><br />
      </p>
      <strong>Ciudad / Barrio: </strong><?php echo $ciu[1];?><br />
      </p>
      </p>
</p>
  <option value="<?php echo $row4['id']."|".$row4['datos']?>"><?php echo htmlentities($row4['datos']);?></option>
  <strong>-------------------------------------------------------------------------------------------------------</strong>
 
       <?php
 
	}
?>
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
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

consulta para "pulir" un combobox de 3 niveles

Publicado por xve (6935 intervenciones) el 17/12/2015 20:42:29
Hola Emiliano, tu código cuesta bastante de entender, ya que esta muy mal tabulado, y no los valores salen de base de datos...

La manera correcta es con javascript o jquery... utilizando el evento onchange o onclick del primer select...

Mira este código de ejemplo, ahi veras como hacerlo:
http://www.lawebdelprogramador.com/codigo/JavaScript/3229-Esconder-o-desmarcar-opciones-de-un-select-dependiendo-de-otro-select.html
http://www.lawebdelprogramador.com/codigo/JQuery/2308-Ejemplo-de-utilizar-jquery-con-un-select.html

Espero que te sirvan...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar