1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Mostrar datos de tabla según select option php cargar datos cuando usuario elige
« en: 20 de Abril 2017, 18:50 »
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:
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> </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;
?>