PHP - Mostrar datos de una tabla según select option php

   
Vista:

Mostrar datos de una tabla según select option php

Publicado por vanessa vane_peke2@hotmail.com (14 intervenciones) el 20/04/2017 18:06:44
Hola soy nueva en esto y apreciaría mucho su ayuda. tengo creados unos selects dependientes toman la información de una base de datos. y estoy tratando de hacer que según el combo seleccionado me muestre toda la información de las tablas que trae.

ejemplo
selecciono
Ciudad: Df
municipio: Tlalpan
Especialidad: Pediatra

y quisiera que me mostrara todos los pediatras que se encuentran en tlalpan df
los combos me funcionan bien pero no puedo mostrar los datos me sale " busqueda sin resultados " tabla espero puedan ayudarme este es mi 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
<?php
require_once "config.inc.php";
 
function combo($db,$nombre,$valor,$tabla,$campos,$condicion,$orden,$modo,$espadre)
{
$query = "SELECT ".$campos." from ".$tabla." order by ".$orden." ".$modo;
$consulta=$db->query($query);
if ($hayregistros=$consulta->fetch_array())
{
echo "<select name='".$nombre."' id='".$nombre."'>";
if ($espadre==1)
{
echo "<option value=''>Selecciona...</option>";
do
{
echo "<option value='".$hayregistros[0]."'";
if ($hayregistros[0]==$valor) echo " selected";
echo ">".$hayregistros[1]."</option>\r\n";
}
while ($hayregistros=$consulta->fetch_array());
}
echo "</select>";
}
}
?>
 
 
<script type="text/javascript">
function llamada(combo,tabla,campos,referencia,valor,seleccionada)
{
$(combo).empty().append("<option value=''>Cargando...</option>");
$.ajax({
dataType: "json",
type: "GET",
url: "combobox.php",
data: { tabla:tabla,campos:campos,referencia: referencia, valor: valor }
})
.done(function(json) {
$(combo).empty().append("<option value=''>Selecciona...</option>");
$.each(json, function (i, items) {
if(items !== null) if (items["id"]==seleccionada) $("<option>").appendTo(combo).val(items["id"]).text(items["label"]).attr("selected","selected");
else if(items !== null) $("<option>").appendTo(combo).val(items["id"]).text(items["label"]);
});
});
}
 
$(document).ready(function()
{
/* COMBOBOX */
$(".combobox select:not(#idnieto)").change(function()
{
var idpadre = $("#idpadre").find(':selected').val();
var idhijo = $("#idhijo").find(':selected').val();
 
if (idpadre!="")
{
/* combo al hijo */
llamada("#idhijo","hijo","idhijo,hijo","idpadre",idpadre,idhijo);
llamada("#idnieto","nieto","idnieto,nieto","idhijo",idhijo,"");
}
});
});
</script>
<style>
 
 
select{padding:10px;border:1px solid #bbb;border-radius:5px;margin:5px 0;display:block;box-shadow:0 0 10px #ddd;width:50%}
 
</style>
 
</head>
<body>
<div class="label"><h1>Bienvenido </h1></div>
<p>
</p>
 
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4" align="center">
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>" class="combobox">
<fieldset>
<p><label>Estado</label><?php combo($db,"idpadre","","padre","idpadre,padre",1,"padre","asc",1); ?></p>
<p id="combo_1"><label>Municipio</label><?php combo($db,"idhijo","","hijo","idhijo,hijo",1,"hijo","asc",0); ?></p>
<p id="combo_2"> <label>Especialidad</label><?php combo($db,"idnieto","","nieto","idnieto,nieto",1,"nieto","asc",0); ?></p>
<p>&nbsp;</p>
<input type="submit" class="btn btn-ar btn-success" name="buscardor" value="Mostrar resultados">
</fieldset>
</form>
 
<?php
 
$texto = '';
//Variable que contendrá el número de resgistros encontrados
$registros = '';
 
if($_POST){
--------- >en la siguiente parte creo est el error creo que aqui es donde esta el error <------------

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
$busqueda = trim($_POST['combo_2']);
 
$entero = 0;
 
if (empty($busqueda)){
$texto = 'Búsqueda sin resultados';
}else{
// Si hay información para buscar, abrimos la conexión
conectar();
mysql_set_charset('utf8'); // mostramos la información en utf-8
 
//Contulta para la base de datos, se utiliza un comparador LIKE para acceder a todo lo que contenga la cadena a buscar
$sql = "SELECT * FROM nieto WHERE nieto LIKE '%" .$busqueda. "%' ORDER BY idnieto";
 
$resultado = mysql_query($sql); //Ejecución de la consulta
//Si hay resultados...
if (mysql_num_rows($resultado) > 0){
// Se recoge el número de resultados
$registros = '<p>Se encontarron ' . mysql_num_rows($resultado) . ' Socio(s) </p>';
// Se almacenan las cadenas de resultado
while($fila = mysql_fetch_assoc($resultado)){
 
 
echo'
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>

<th>No. Tarjeta</th>
<th>Usuario</th>
<th>Nombre</th>
<th>Email</th>
<th>Teléfono</th>
<th>Dirección</th>
<th>Tipo de tarjeta</th>


</tr>
</thead>
<tbody>

<tr>
<td>'. $fila['name'] .'</td>
<td>'. $fila['lastname'] .'</td>
<td>'. $fila['dir'] .'</td>
<td>'. $fila['colonia'] .'</td>
<td>'. $fila['tel1'] .'</td>
<td>'. $fila['tel2'] .'</td>
<td>'. $fila['cel'] .'</td>


</tr> 

</tbody>
</table>
</div>
</table> <br>';
 
 
 
 
}
 
}else{
$texto = "NO se ha encontrado ningun resultado";
}
// Cerramos la conexión (por seguridad, no dejar conexiones abiertas)
mysql_close($conexion);
}
}
?>
<?php
// Resultado, número de registros y contenido.
echo $registros;
echo $texto;
 
?>
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

Mostrar datos de una tabla según select option php

Publicado por xve (6037 intervenciones) el 21/04/2017 14:19:04
Hola Vanessa, con el código que nos has mostrado, no se ver donde esta el input donde solicitas el valor "combo_2" para poder obtener la variable aquí:
1
$busqueda = trim($_POST['combo_2']);

Segun veo el código, me da la sensación de que el nombre del <select> es "idpadre"
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

Mostrar datos de una tabla según select option php

Publicado por vanessa (14 intervenciones) el 21/04/2017 16:01:53
Hola de antemano muchas gracias por la respuesta ..
te comento que es donde me estoy perdiendo no recuentro como mandar llamar los datos que tienen los dos últimos combos que traen los datos de id_nieto(especialidad ) e id_hijo (municipio).
entonces no se si tenga que crear una variable y después hacer la consulta o como podría ser
por que todo me funciona bien nad amas no puedo hacer la consulta a la base de datos con lo seleccionado

ademas checando el código Esta haciendo una llamada get en la llamada ajax:

1
Type: "GET",

Pero luego esta buscando los datos en post

1
$busqueda = trim($_POST['combo_2']);

nos e si también eso este ocasionando que no me mande resultados
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

Mostrar datos de una tabla según select option php

Publicado por xve (6037 intervenciones) el 22/04/2017 07:32:39
Hola Vanessa, el envio lo haces por post...
1
<form method="post"...

Revisa el código fuente desde el navegador, y ahi veras el nombre de los <select>

Podemos ver la pagina en internet?
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

Mostrar datos de una tabla según select option php

Publicado por vanessa (14 intervenciones) el 24/04/2017 15:52:12
hola muchas gracias por tomarte el tiempo para ayudarme a resolver mi problema
claro esta es la pagina

avatarcare.com.mx/medicaw.php

gracias
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

Mostrar datos de una tabla según select option php

Publicado por xve (6037 intervenciones) el 24/04/2017 19:48:00
Hola Vanessa, los select se llaman idpadre, idhijo, idnieto, y los valores los pasas por GET, por lo que no puedes utilizar $_POST sino que tienes que utilizar $_GET
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

Mostrar datos de una tabla según select option php

Publicado por vanessa (14 intervenciones) el 24/04/2017 21:09:20
Hola otra vez muchas gracias por el apoyo ..
ya cambie a post por get ..
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
<?php
 
$texto = '';
//Variable que contendrá el número de resgistros encontrados
$registros = '';
 
if($_GET){
 
  $busqueda = trim($_GET['nieto']);
 
  $entero = 0;
 
  if (empty($busqueda)){
	  $texto = 'Búsqueda sin resultados';
  }else{
	  // Si hay información para buscar, abrimos la conexión
	  conectar();
      mysql_set_charset('utf8');  // mostramos la información en utf-8
 
	  //Contulta para la base de datos, se utiliza un comparador LIKE para acceder a todo lo que contenga la cadena a buscar
	  $sql = "SELECT * FROM nieto WHERE nieto LIKE '%" .$busqueda. "%' ORDER BY idnieto";
 
	  $resultado = mysql_query($sql); //Ejecución de la consulta
      //Si hay resultados...
	  if (mysql_num_rows($resultado) > 0){
	     // Se recoge el número de resultados
		 $registros = '<p>Se encontarron ' . mysql_num_rows($resultado) . ' Socio(s) </p>';
	     // Se almacenan las cadenas de resultado
		 while($fila = mysql_fetch_assoc($resultado)){
 
 
			 echo'
			 <div class="table-responsive">
   <table class="table table-hover">
                      <thead>
                        <tr>


y segun tengo entendido en

1
$busqueda = trim($_GET['nieto']);
es en donde se ponen esas variables pero al ponerle idnieto ... se queda cargando y no sale mas

y ahi es donde estoy atorada por que o no me llama los datos o se queda como cargando ..
o n se sisepasa de algun otro script que me pueda servir necesito los 3 selects dependiente y al seleccionar el ultimo te muestre la informacion de la tabla ..
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