Query by example en mysql

Hola Bankhacker y gracias por adelantado...
Tengo una base de datos en mysql y quiero que mis usuarios puedan realizar querys en ella. Mi idea es crear una interfaz (tipo form) para que ellos seleccionen los parámetros de búsqueda (and, or, not) campos que desea que aparezcan (select) y los parámetros de búsqueda en cada campo (con comodines...)
Supongo que lo que tengo que hacer es un formulario desde el que paso las variables en php a mysql (a una consulta prehecha) pero no se como hacerlo...
¿Me puedes echar una mano?
Muchas gracias por tu ayuda.
Andres

1 respuesta

Respuesta
1
Andrés, lo que quieres hacer es un gestor web de tu base de datos MySQL. Ya existe una herramienta muy buena y fácil de usar, llamada phpMyAdmin. Lo encontrarás en http://phpmyadmin.sourceforge.net/ . phpMyAdmin maneja la adminstration de MySQL sobre WWW. Generalmente puede:
- Crear y eliminar bases de datos
- Crear, copiar, eliminar y alterar tablas
- borrar, editar y agregar campos
- ejecutar cualquier declaración de SQL
- manejar claves primarias en campos
- cargar archivos de texto en las tablas
- crear y leer descargas de tablas
- exportar e importar los datos de CSV
- administrar una sola base de datos
Instalación: phpMyAdmin puede administrar un -servidor de MySQL entero (necesidades de un Super-usuario) pero también una sola base de datos. Para lograr esto Último necesitarás un puesto como usuario de MySQL que sólo pueda leer y escribir en la base de datos.
[1] Descarga la distribución
tar xvf phpMyAdmin_x. x.x.tar
[2] Abre el archivo config.inc.php3 en tu editor favorito y cambia. Los valores para el Host, usuario y contraseña. Mira la Documentation.html para una explicación de todo los valores.
[3] Se recomienda que protejas el directorio en que instalas phpMyAdmin (a menos que estés en un intranet cerrado), por ejemplo con HTTP-AUTH (en un archivo .htaccess).
[4] Abre el archivo <www.your-host.com>/<your-install-dir>/index.php3 en tu browser. PhpMyAdmin debe desplegar una pantalla de bienvenida y tus bases de datos.
Hola bankhacker,
Ya tengo instalado el phpMyAdmin lo uso a nivel administrador, pero lo que quiero es que el usuario del site pueda hacer consultas flexibles en mi base de datos, es decir crear un formulario de consulta con posibilidad de añadir clausulas booleanas y varias condiciones. (Si diera acceso a la gente a phpmyadmin podrían acceder a todas mis tablas y hacer desastres...)
Yo ya lo tengo montado para una condición pero se como hacerlo para más condiciones (and, or, not).
Esto es lo que tengo echo (funciona):
<html>
<body bgcolor="#003366" text="#ffffff" link="#ffffff" vlink="#ffffff">
<?
$sqlhostname = "localhost";
$login = "xx";
$password = "xx";
$base = "xx";
$db_connect = mysql_connect($sqlhostname,$login,$password);
$base_selection = mysql_select_db($base,$db_connect);
$query = "SELECT `documental`.`Id`,
`documental`.`Titulo`,
`documental`.`Abstract`,
`documental`.`Fecha`,
`documental`.`Fecha_Act`,
`documental`.`Link`,
`documental`.`Contenido`,
`documental`.`Autor`,
`documental`.`Cetegoria`,
`documental`.`keyword`
FROM `documental` WHERE
(
(`documental`.`$campo` $param2 $param1 )
)";
$req = mysql_query($query);
if (!$req)
{ echo "<B>Error ".mysql_errno()." :</B> ".mysql_error()."";
exit; }
$res = mysql_num_rows($req);
if ($res == 0)
{ echo "<center><b>Sorry there is no result.</b></center>";}
else
{ while($row = mysql_fetch_array($req))
{
extract($row);
echo"$Id<BR><table cellspacing=1 bgcolor=ffffff>
<tr><td bgcolor=003366>
$Titulo</td></tr>
<tr><td bgcolor=003366>
$Abstract</td></tr>
<tr><td bgcolor=003366>
$Fecha</td></tr>
<tr><td bgcolor=003366>
$Fecha_Act</td></tr>
<tr><td bgcolor=003366>
$Link</td></tr>
<tr><td bgcolor=003366>
$Contenido</td></tr>
<tr><td bgcolor=003366>
$Autor</td></tr>
<tr><td bgcolor=003366>
$Cetegoria</td></tr>
<tr><td bgcolor=003366>
$keyword</td></tr>
</table>
<hr size='1' noshade color='black'><BR>";
}
}
?>
</body>
</html>
Las variables a las que hace referencia el query las paso a través de un formulario normal.
Muchas gracias y perdona que no me explicara mejor en mi primera petición...
Andres
Concreta un poco más tu pregunta, por favor.
No puedo resolver dudas del tipo : "necesito hacer un programa con tales funcionalidades. ¿me lo haces, por favor?"
Sólo resuelvo dudas puntuales, en las que con un simple consejo te saco de un apuro, como por ejemplo: "¿qué función de PHP me permite pasar un texto como variable GET sin que cause problemas al navegador?"
Suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas