SELECT MULTIPLE ANIDADO....
Publicado por Hfr (93 intervenciones) el 07/06/2018 04:49:07
hola chicos buenas noches...
este el codgio que todo el mundo usa para los select anidos
de 3 niveles
resulta que el campo #cc y #centros son selcet multiple....
en fin---...
Al ser múltiples en el parámetro name="cc" debería ir name="cc[ ]" y esto se debe al que el segundo debo hacer un select dinámico y no un select * from where....
Entonces resulta que no sé cómo enviar el array del post...
En modelos2 yo recibo $_post['eleido'];
Pero como el cargue múltiple se hace con JS no sé cómo indicarle que envié un array elegido... para que haga el query dinámico...
y esto se debe el primer nivel select es normal. y se escoge una sola opción, en el segundo es un select múltiple y debo de seleccionar todas las opciones que quiera..... y con esas opciones debería recibir una array car cárgalos en el tercer select que es multiple...
Estoy varado
modelo 1-....
no tiene pierde
modelo 2
No sé cómo recibir el parámetro elegido como un array, para ejecutar el query dinámico..
Ya probé dejando var_dum($_post['elegido']) y nada.... alguien me puede dar una mano porfis....
El ELSE FINAL, lo coloque para que me imprimía y no imprime nada jajajaja que triste....
este el codgio que todo el mundo usa para los select anidos
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
<script language="javascript" >
$(document).ready(function(){
$("#ciudad").change(function () {
$("#ciudad option:selected").each(function () {
elegido=$(this).val();
$.post("modelos.php", { elegido: elegido }, function(data){
$("#cc").html(data);
});
});
})
});
</script>
<script language="javascript" >
$(document).ready(function(){
$("#cc").change(function () {
$("#cc option:selected").each(function () {
elegido=$(this).val();
$.post("modelos2.php", { elegido: elegido }, function(data){
$("#centros").html(data);
});
});
})
});
</script>
de 3 niveles
resulta que el campo #cc y #centros son selcet multiple....
1
2
3
4
5
6
<div class="form-group">
el class="control-label ">Centro de costos</label>
<select name="cc" id="cc" class="form-control" required="required" multiple>
<option value="">Seleccione....</option>
</select>
</div>
Al ser múltiples en el parámetro name="cc" debería ir name="cc[ ]" y esto se debe al que el segundo debo hacer un select dinámico y no un select * from where....
Entonces resulta que no sé cómo enviar el array del post...
En modelos2 yo recibo $_post['eleido'];
Pero como el cargue múltiple se hace con JS no sé cómo indicarle que envié un array elegido... para que haga el query dinámico...
y esto se debe el primer nivel select es normal. y se escoge una sola opción, en el segundo es un select múltiple y debo de seleccionar todas las opciones que quiera..... y con esas opciones debería recibir una array car cárgalos en el tercer select que es multiple...
Estoy varado
modelo 1-....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
include_once "../PHP/instanciasion/instanciaobjetos.php"; /* llamado del archivo instrancion , en onde se instancias todas las depencias de clases y objetos para la consulta de datos
* */
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
if ($_POST["elegido"]!="") {
$idcentroscostos=$centrosdecostos->consultarccforidciudad($_POST["elegido"]);
foreach ($idcentroscostos as $rowx){ ?>
<option value="<?php echo $rowx['id_programa']; ?> "><?php echo $rowx['id_programa'].utf8_encode($rowx['nombre_programa']); ?></option>
<?php }
}
no tiene pierde
modelo 2
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
include_once "../PHP/nomina/con_mysql.php"; /* llamado del archivo instrancion , en onde se instancias todas las depencias de clases y objetos para la consulta de datos
* */
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
$totalid= $_POST['elegido'];
$query ="SELECT subc_id, subc_nombre FROM subcentrocostos where subc_idcentrocosto= '".$totalid[0]."' ";
// ciclo, for, que repite la etiquita del query segun la cantidad de id del centros de costos recibos por
//la variable totalid
for ($i = 1; $i <count($totalid); $i++) {
// se concaneta la variable queyr
$query .= " or subc_idcentrocosto='".$totalid[$i]."' ";
}
$query .=" GROUP BY subc_id ORDER BY subc_nombre ";
// se ejecuta el query
$consulta=mysqli_query(conexion::conectar(),$query);
//se retorna el array con los los datos de la consulta
if ($consulta!=null)
{
foreach ($consulta as $p ){ ?>
<option value="<?php echo $p['subc_id'] ?>"><?php echo $p['subc_nombre'] ?></option>
<?php }
}else {
for ($i = 1; $i <count($totalid); $i++) {
?>
<option value=""><?php echo $totalid[$i] ?></option>
<?php } }
?>
No sé cómo recibir el parámetro elegido como un array, para ejecutar el query dinámico..
Ya probé dejando var_dum($_post['elegido']) y nada.... alguien me puede dar una mano porfis....
El ELSE FINAL, lo coloque para que me imprimía y no imprime nada jajajaja que triste....
Valora esta pregunta


0