elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  [php&mysql]crear query sql mediante formularios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [php&mysql]crear query sql mediante formularios  (Leído 7,654 veces)
twoz

Desconectado Desconectado

Mensajes: 100



Ver Perfil
[php&mysql]crear query sql mediante formularios
« en: 7 Marzo 2009, 19:01 pm »

buenas, estoy haciendo una web, en la que quiero hacer un buscador de articulos, pudiendo ver poco a poco las tablas y las columnas que se quieran o hacer una query (mediante opciones en formularios) que muestre el maximo, el minimo de lo que se indique etc. De momento e conseguido poder seleccionar la tabla que se va a usar y que muestre un desplegable con los campos de la tabla seleccionada.

pero estoy un poco atascado, ya que no se como seguir, porque ahora quiero que mediante el formulario se seleccionen, los campos que se quieran (o la opcion * que tambien esta añadida) y ademas se pueda utilizar opciones de filtrado con un where al que se le añadiran las opciones de busqueda por un campo de texto... pero no se como construir la query en sql para que luego me coja los datos que le mande, o que se cree la query sola segun que datos mande.
estoy pensando, que mas o menos lo que quiero es igual que un buscador no?
mirare a ver como funcionan, talvez me entere un poco de que tengo que hacer :)

saludos


En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: [php&mysql]crear query sql mediante formularios
« Respuesta #1 en: 7 Marzo 2009, 20:00 pm »

el arte de concatenar ..


En línea

twoz

Desconectado Desconectado

Mensajes: 100



Ver Perfil
Re: [php&mysql]crear query sql mediante formularios
« Respuesta #2 en: 8 Marzo 2009, 01:58 am »

lo unico que se me ocurre es eso:
Código:
select $_post[campo1], $_post[campo2], $_post[campo3] from $_post[db] ;
y es lo que en un principio quiero evitar, porque veo que esta muy mal construido,  sobre concatenar, a que te refieres? (se lo que es, pero no se que uso quieres que le de en este caso, o almenos en este momento no lo veo)

edito: no soy capaz, es sabado, casi las tres de la mañana... no son horas ya para esto! xD
voy a dejar lo que tengo echo a ver si podeis decirme que esta mal (seguramente mas de una cosa)

aqui se seleccionan los campos a elegir
Código:
	<?php 
        $conectar = mysql_connect('localhost','usuario','contraseña');
$consulta2 = mysql_query('SELECT column_name FROM information_schema.COLUMNS WHERE table_name = \''.$_POST[tabla].'\';');

?>
<form action="conexion.php" method="post">
<select multiple="multiple" name="select">
seleccionar Columnas a usar:<br>
<?php
while ($registro = mysql_fetch_row($consulta2)) {
foreach($registro as $query){
echo "<option name=\"".$query."\">" .$query ."</option>";
}
}
?>
<option> * </option>
</select><br>


<input type="button" value="Volver" onClick="history.back()">
<input type="submit">
</form>

y a parte ahi mismo quiero añadir opciones para poder hacer el maximo, minimo y el where, pero nisiquiera consigo que $_POST guarde todos los valores que le indique, sino que guarda el que este mas abajo en la lista...

edito: (again xD)
vale, al final e puesto todo el codigo que tenia en 3 paginas en una sola pagina php y ahora ya veo todo, tanto la seleccion de base de datos, como la seleccion de tabla y su descripcion, peeeero, no todo iba a ser tan facil.
ahora tengo 3 menus:
 ------       --------       ----------
| db1 |    | tabla1 |    | campo1 |
| db2 |    | tabla2 |    | campo2 |
| db3 |    | tabla3 |    | campo3 |
 ------       --------       ----------
 menu1     menu2       menu3
primero selcciono una base de datos, envio el formulario,  recarga la pagina y en el segundo menu me aparecen todas las tablas de esa base de datos (en el menu 1 siguen apareciendo las bases de datos) selecciono una y envio, pero ahi viene el problema, ya que al recargar, el menu 3 contiene todos los campos de la tabla seleccionada, y el menu1 sigue teniendo la lista de bases de datos, pero el menu2, el de las tablas, esta completamente vacio.
como puedo hacer para que el segundo menu siga manteniendo los datos al pasar a una nueva pagina? porque el primer menu lo hace y el codigo no tiene nada especial para ello... :S
« Última modificación: 8 Marzo 2009, 12:05 pm por thzneas » En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: [php&mysql]crear query sql mediante formularios
« Respuesta #3 en: 9 Marzo 2009, 06:42 am »

cariño... a todo esto yo me pregunto porque usas tu esto:

Citar

$consulta2 = mysql_query('SELECT column_name FROM information_schema.COLUMNS WHERE table_name = \''.$_POST[tabla].'\';');


Porque tienes que indagar en la metadata de la base de datos para obtener el nombre de 1 campo de una tabla existente cuando es mucho mas seguro para ti como programador sencillamente hacer :

$consulta2 = mysql_query('SELECT column_name FROM $_POST['tabla']", $conexión) or die("Problemas en la solicitud");



Lo digo porque sino lo sabes recuerda que la metadata es algo muy delicado de cualquier base de datos relacional. Y al referirme a delicado, me refiero a que cualquier lammercito estara encantado en saber que dentro de tu codigo PHP juegas con consultas hacia la metadata sin necesidad y que podra obtener con algunos rejuegos a la dichosa variable $_POST informacion muy jugosa de information_schema... gracias a tu consideracion de utilizar esa consulta sin necesidad repito...

Pero cada quien sabra lo que hace, yo si fuese tu, no me jugaria a obtener info directa de la metadata dentro de un codigo PHP para una web accesada por dios sabe quien.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Conexion en Mysql Query Browser
Bases de Datos
negux 2 4,687 Último mensaje 22 Febrero 2011, 17:40 pm
por Nakp
duda con query de mysql
.NET (C#, VB.NET, ASP)
lexoazul 6 4,365 Último mensaje 6 Enero 2012, 00:54 am
por lexoazul
Query en MySQL
Bases de Datos
mark182 2 3,204 Último mensaje 16 Abril 2013, 16:05 pm
por s7evin
C + MySQL, traspaso de variables a un query de MySQL en C. [Resuelto]
Programación C/C++
GisiNA 8 6,254 Último mensaje 9 Febrero 2014, 11:54 am
por GisiNA
crear dos archivos txt mediante un query al server y sentencia IF
Java
padre_15 2 2,250 Último mensaje 16 Junio 2016, 21:45 pm
por padre_15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines