Buenas Buenas Foreros!! Necesito Una Ayudita Si Son Tan Amables..
Tengo Un Buscador...en El Cual El Usuario Escoge La Tabla En La Que Quiere Buscar...cuando Escoge La Tabla Al Lado Debe Salir La Lista De Los Campos Que Contiene Esa Tabla...pero No He Podido....el Codigo Funciona Hasta La Lista De La Tabla....osea.. Se Conecta A La Bd Y Me Da La Lista De La Tabla...pero Cuando La Selecciono No Me Muestra La Lista De Los Campos...
Código PHP:
<body>
<?
////////////////////////////
// Configuración
///////////////////////////
$bd_servidor = "XXXXXXXXXX";
$bd_usuario = "XXXXXXXXXX";
$bd_contrasenya = "XXXXXXX";
$bd_bdname = "XXXXXXX";
// Conexión y selección de la base de datos
$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contrasenya);
mysql_select_db($bd_bdname,$link);
////////////////////////////
// Formulario
///////////////////////////
?>
<center>
<p><h2>Introduce las palabras para la búsqueda</h2></p>
<p><form name="buscador" method="post" action="search.php"><br>
Tabla:
<select name="tablas">
<?php
//Con este query obtendremos las tablas por los cuales el usuario puede buscar
$result1 = mysql_query("SHOW TABLES FROM `$bd_bdname`",$link);
while($row1 = mysql_fetch_row($result1)) {
?>
<option value="<?php echo $row1[0]; ?>"><?php echo $row1[0]; ?></option>
<?php
}
?>
</select>
Buscar en:
<select name="campo">
<?php
//Con este query obtendremos las tablas por los cuales el usuario puede buscar
$campo = mysql_query("SHOW FIELDS FROM `$row1`",$link);
while($row2 = mysql_fetch_row($campo)) {
?>
<option value="<?php echo $row2[0]; ?>"><?php echo $row2[0]; ?></option>
<?php
}
?>
</select>
Palabra(s): <input type="text" name="palabra"><br>
<input type="submit" value="Enviar" name="enviar">
</form></p>
</center>
<?
////////////////////////////
// Proceso del Formulario
///////////////////////////
if(isset($_POST['enviar'])) {
// Solo se ejecuta si se ha enviado el formulario
$query = "SELECT * from $row2 WHERE `{$_POST['campo']}` LIKE '%{$_POST['palabra']}%'";
$result = mysql_query($query,$link);
$found = false; // Si el query ha devuelto algo pondrá a true esta variable
while ($row1 = mysql_fetch_array($result)) {
$found = true;
echo "<p>";
foreach($row as $nombre_campo => $valor_campo) {
// Tenemos que mostrar todos los campos de las filas donde se haya
// encontrado la búsqueda.
if(is_int($nombre_campo)) {
continue;
}
echo "<b>".$nombre_campo."</b> : ".$valor_campo."<br>";
}
echo "</p>";
}
if(!$found) {
echo "No se encontró la palabra introducida";
}
}
?>
</body>