Autor Tema: Mostrar datos de tabla según select option php cargar datos cuando usuario elige  (Leído 6666 veces)

vanepeke2

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
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 super bien pero no puedo mostrar los datos  me sale " busqueda sin resultados " tabla espero puedan ayudarme este es mi codigo:

Código: [Seleccionar]

<?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){


//---------- > creo que aqui es donde esta el error <------------


$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

?>
« Última modificación: 11 de Junio 2017, 19:59 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas vanepeke2, por un lado no veo dónde cargas jquery, supongo que es en la llamada al archivo config.inc.php

Por otro lado esta consulta es extraña:

$sql = "SELECT * FROM nieto WHERE nieto LIKE '%" .$busqueda. "%' ORDER BY idnieto";

¿La tabla se llama nieto y el campo se llama nieto? Eso parece extraño...

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".