Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2006, 16:26
Avatar de phprim
phprim
 
Fecha de Ingreso: julio-2006
Ubicación: En mi trabajo
Mensajes: 90
Antigüedad: 17 años, 9 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 17:50