Foros del Web » Programando para Internet » PHP »

Buscador de todas las tablas en una base de datos

Estas en el tema de Buscador de todas las tablas en una base de datos en el foro de PHP en Foros del Web. Hola estimados amigos de foros del web, hace como 1 semana estaba buscando ayuda de como hacer un buscador en php pero que busque en ...
  #1 (permalink)  
Antiguo 08/08/2006, 17:26
Avatar de phprim  
Fecha de Ingreso: julio-2006
Ubicación: En mi trabajo
Mensajes: 90
Antigüedad: 11 años, 4 meses
Puntos: 0
Buscador de todas las tablas en una base de datos

Hola estimados amigos de foros del web, hace como 1 semana estaba buscando ayuda de como hacer un buscador en php pero que busque en todas las tablas y la verdad s que solo recibi consejos, pero no codigo, asi que despues que de algunos intentos lo logre, obviamente es una primera version, espero les sirva y sobre todo que lo mejoren
//Buscador en todas las tablas de una base de datos por Ray Mendoza-->//08/08/06-
Aqui el codigo:
Código PHP:
<?
include("coneccion.php");
$dbname="registro";//es el nombre de tu base de datos
$tables=mysql_list_tables($dbname); 
$tabs=array();
$i=0;
while(
$row=mysql_fetch_array($tables))
{    
    
$tabs[$i]=$row[0];//$tabs contiene el nombre de todas las tablas en la base de datos
    
$i++;
}
$numtabs=$i;//$numtabs=es el numero de tablas la base de datos determinado
/*variable fija**/
//$palabra=$_POST['campo'], es el valoer que envias de tu buscador en html
$palabra="ray";//$palabra es el valor que se pasara por el bsucador  es decie $palabra=$_POST['campo'];
for($j=0;$j<$numtabs;$j++)
{
    
/****************/
    
$table=$tabs[$j];
    
$campos=array();
    
$a="select * from $table ";
    
$b=mysql_query($a);
    
$cols=mysql_num_fields($b);//$cols es el numero de columnas de determinada tabla
    /***Ahora guardamos los nombres de los campos de cada tabla dinamicamente*/
    
for($i=0;$i<$cols;$i++){$campos[$i]=mysql_field_name($b,$i);}
    
//Comienza la busqueda  tabla por tabla
    
for($i=0;$i<$cols;$i++)
    {
        
$campo=$campos[$i];
        
$sql="select * from $table where $campo like '%$palabra%'";
        
$result=mysql_query($sql);
        if (
$row mysql_fetch_array($result))
        {
            
mysql_field_seek($result,0); 
        
?>
        <table>
            <? 
                
do
                {
?>
                    <tr>
                        <td><? echo $row[$i];?></td>
                    </tr>    
             <? }while($row mysql_fetch_array($result));?>
        </table>
        <? }
    }
//Fi del for de campos
}//Fin del for de tablas
?>

Última edición por Cluster; 08/08/2006 a las 18:50
  #2 (permalink)  
Antiguo 08/08/2006, 18:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. antetodo gracias por compartir lo que encontrastes (y por dejar la referencia del autor original).

A veces pasa que en un foro .. la gente no tiene a mano el código exacto que buscas, pero si te dá orientación para que tu te lo hagas. Si lo encuentras echo ya .. que bueno, y si lo compartes aquí .. mejor todavía. Cuando surga una pregunta similar .. podremos usar el buscador y tal vez podamos dar como solución este mismo código presentado en este mismo mensaje .. de eso se trata esto. No siempre la gente que vé las preguntas en ese instante sabe del tema propuesto y .. el flujo de mensajes de este foro hace que caigan en el olvido rápidamente preguntas sin respuestas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 09/08/2006, 09:39
Avatar de phprim  
Fecha de Ingreso: julio-2006
Ubicación: En mi trabajo
Mensajes: 90
Antigüedad: 11 años, 4 meses
Puntos: 0
Buscador de todas las tablas

Gracias cluster por el aliento, pero este codigo lo hize yo, no lo encontre, la semana pasada me tope con este problema y no encontre codigo en al web, asi que decidi intentarlo, y ya pes me salio, obviakente en estoas dias lo tengo que mejorar, pero que qude claro que lo hize yo, es todo, saludos cordiales
  #4 (permalink)  
Antiguo 09/08/2006, 10:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por phprim Ver Mensaje
Gracias cluster por el aliento, pero este codigo lo hize yo, no lo encontre, la semana pasada me tope con este problema y no encontre codigo en al web, asi que decidi intentarlo, y ya pes me salio, obviakente en estoas dias lo tengo que mejorar, pero que qude claro que lo hize yo, es todo, saludos cordiales
Ok .. ya que usamos "nicks" aquí en el foro como identificativo del usuario (pese que en perfil nuestro pongamos nuestros nombres reales o no ..) sería bueno como hago yo o firmo mis cosas: Nick (Nombre real) así lo reconocemos fácil.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:07.