Tengo un código típico para buscar en una Base de datos...
Funciona bien, con un input text, escribes lo que buscas y en un div va dando los resultados.
busqueda.php
Código HTML:
<script src="planteles/ajax.js" language="javascript"></script> <input type="text" size="40" id="valor" onkeyup="Buscar();" /><br /> <div style="width:100%; min-height:100px; border:1px dashed #FF0000;" id="resultados"></div>
function Buscador(){var xmlhttp=false;try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (E) {xmlhttp = false;}}if (!xmlhttp && typeof XMLHttpRequest!='undefined') {xmlhttp = new XMLHttpRequest();}return xmlhttp;
}
function Buscar() {
q = document.getElementById('valor').value;
c = document.getElementById('resultados');
ajax = Buscador();
ajax.open("GET","planteles/procesar.php?q="+q);
ajax.onreadystatechange=function() {
if (ajax.readyState == 4) {
c.innerHTML = ajax.responseText;
}
}
ajax.send(null)
}
procesar.php
Código PHP:
<?php
include("config.php");
$c= new Buscador;
$c->Conectar();
$q = $_GET['q'];
if ($q==null) {
print '';
}else{
$c->Buscar($q);
}
?>
Código PHP:
<?php
class Buscador {
var $host='localhost',$user='USUARIO',$pass='CONTRASEÑA',$db='BASE DE DATOS',$c_Servidor='Se conecto con el servidor correctamente',$i_Servidor='No se conecto con el servidor',$c_DB='Se selecciono correctamente la DB',$i_DB='No se selecciono la DB';
function Conectar() {
if(!@mysql_connect($this->host,$this->user,$this->pass)){
print $this->i_Servidor;
}else{
if(!@mysql_select_db($this->db)){
print $this->i_DB;
}
}
}
function Buscar($q) {
$query = mysql_query("SELECT * FROM registro WHERE tipo LIKE '%$q%' OR nivel LIKE '%$q%' OR nombre LIKE '%$q%'");
if(mysql_num_rows($query)<=0){
print 'No se encontro ningun resultado';
}else{
print '<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>ID</td>
<td>Tipo</td>
<td>Nivel</td>
<td>Nombre</td>
</tr>';
while ($row = mysql_fetch_assoc($query)){
print '<tr>
<td>'.$row['id'].'</td>
<td>'.$row['tipo'].'</td>
<td>'.$row['nivel'].'</td>
<td>'.$row['nombre'].'</td>
</tr>';
}
print '</table>';
}
}
}
?>
En la base de datos tengo la tabla que contiene los datos de TIPO, NIVEL, NOMBRE, MUNICIPIO.
Por lo cual, necesito que me aparesca algo asi;
<select id="tipo">
<option>A</option>
<option>B</option>
</select>
Al seleccionar el tipo, salgan los resultados de los niveles que coinciden con ese tipo:
<select id="nivel">
<option>1</option>
<option>2</option>
</select>
Al seleccionar el nivel, salgan los resultados que coinciden con ese tipo y nivel.
<select id="municipio">
<option>35</option>
<option>36</option>
</select>
Al seleccionar el municipio, salgan los resultados que coinciden con ese tipo, nivel y municipio.
<select id="nombre">
<option>NOMBRE1</option>
<option>NOMBRE2</option>
</select>
Y al final este select es el que necesito.
Si no me supe explicar o no entendieron esta un ejemplo en cinepolis.com en la parte de arriba, un cuadro amarillo... ahí esta algo como lo que necesito.
De antemano agradezco su ayuda...