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