Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/12/2008, 12:53
Avatar de Ronruby
Ronruby
 
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Algo muy basico

El problema reside aqui:

Código PHP:
<select name="campo"> 
<?php 

//Con este query obtendremos los campos por los cuales el usuario puede buscar 

$result mysql_query("SHOW FIELDS FROM `$bd_tabla`",$link); 

while(
$row mysql_fetch_row($result)) { 

// en $row[0] tenemos el nombre del campo 
// de esta manera no necesitamos conocer el nombre de los campos 
// por lo que cualquier tabla nos valdrá 

?> 
<option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option> 
<?php 



?> 
</select>
Estas mandando una consulta que te devuelve el nombre de los campos de la base de datos, y dejarle al usuario ver esa informacion no es muy seguro.

Lo que debes hacer es en vez de "sacar" el nombre de los campos de la base de datos, es crear un <select> normal y dependiendo de la opcion seleccionada, elegir una u otra tabla:

Código HTML:
<select name="seleccion">
  <option value="1">COmputador de Red</option>
</select> 
Luego en tu codigo, haces un SWITCH, justo antes de la consulta:

Código PHP:
switch($_POST['seleccion']) {
case 
1:
//campo en el cual buscar:
$tabla 'compured';
break;
default:
//campo en el cual buscar por defecto
break;

Pero, si tu numero de campos incrementa, tendras que agregarlo al codigo. Pero no te preocupes por eso, normalmente al crear una base de datos para una aplicacion no se agregan columnas, todo eso se anticipa antes de poner la aplicacion a funcionar.