Foros del Web » Programando para Internet » PHP »

Querys Dinamicos

Estas en el tema de Querys Dinamicos en el foro de PHP en Foros del Web. Hola amigos tengo un problema a ver si me pueden ayudar, necesito generar un query completamente dinamico, yo estoy enviando datos de un formulario y ...
  #1 (permalink)  
Antiguo 04/04/2013, 13:31
danilugo87
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Querys Dinamicos

Hola amigos tengo un problema a ver si me pueden ayudar, necesito generar un query completamente dinamico, yo estoy enviando datos de un formulario y con eso capturo el nombre de la tabla y el nombre del campo en base de datos. Mi problema esta en que necesito hacer el query usando inner joins pero de verdad ando un poco perdida. esto es lo quiero hacer.

"SELECT ".$fields." FROM ".$tablas."
INNER JOIN ".$tablas." ON ".$tablas.".id = ".$tablas.".company_id

$tablas y $fields= son los datos que yo capturo al enviar el formulario.

Estoy realizando esto con mysql y php

algo asi es lo que quiero, eso se puede hacer??
  #2 (permalink)  
Antiguo 04/04/2013, 13:59
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Querys Dinamicos

Me parece que ya colocaste esto en otro post, procura no repetir temas.

Por otra parte, no quiero resultar grosero, pero ¿ya hiciste la prueba? la mejor forma de avanzar y salir de dudas es hacer la prueba, y sólo cuando algo falla y no se sabe por qué, preguntar.

Para tu pregunta, no suelo usar mucho el innerjoin así que no estoy seguro que la sintáxis sea correcta, pero sí te puedo decir que tengas mucho cuidado cuando el usuario tenga el poder de elegir los campos y las tablas a consultar, ya que ahí es muy fácil sacar datos delicados de la base de datos.
  #3 (permalink)  
Antiguo 04/04/2013, 14:19
danilugo87
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Querys Dinamicos

Cita:
Iniciado por ocp001a Ver Mensaje
Me parece que ya colocaste esto en otro post, procura no repetir temas.

Por otra parte, no quiero resultar grosero, pero ¿ya hiciste la prueba? la mejor forma de avanzar y salir de dudas es hacer la prueba, y sólo cuando algo falla y no se sabe por qué, preguntar.

Para tu pregunta, no suelo usar mucho el innerjoin así que no estoy seguro que la sintáxis sea correcta, pero sí te puedo decir que tengas mucho cuidado cuando el usuario tenga el poder de elegir los campos y las tablas a consultar, ya que ahí es muy fácil sacar datos delicados de la base de datos.

Hola lo coloque aqui porque me indicaron que el tema no iba en ese foro, por ende lo escribi por aca.

Ya hice la prueba y nada por eso estoy preguntando a ver que ayuda me pueden ofrecer. Gracias.
  #4 (permalink)  
Antiguo 04/04/2013, 14:26
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Querys Dinamicos

Bien, en tal caso, no olvides colocar tu código tal cual, y si te da algún error, indicarlo.

Si usas mysql, con echo mysql_error() puedes obtener el error en tu instrucción sql
  #5 (permalink)  
Antiguo 04/04/2013, 14:38
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 4 meses
Puntos: 181
Respuesta: Querys Dinamicos

Cita:
Iniciado por danilugo87 Ver Mensaje
Hola lo coloque aqui porque me indicaron que el tema no iba en ese foro, por ende lo escribi por aca.

Ya hice la prueba y nada por eso estoy preguntando a ver que ayuda me pueden ofrecer. Gracias.
Creo que aquí tienes dos serios errores. Uno de conceptos y por ende uno de codificación. Cuando yo hago una consulta inner join el usuario no tendria porque pasar los parametros de los campos ni de las tablas por post o get puesto que un usuario "comun y silvestre" lo unico que le deberia interesar es mandar un id,un nombre o cualquier otro y la consulta deberia mostrar el resultado. Pongo un ejemplo:

Código PHP:

"SELECT a.nombre, c.carrera FROM alumnos a
INNER JOIN carreras c ON a.id = c.id AND a.nombre="
.$_POST["nombre"].";"
Como ves el usuario no deberia porque pasar los campos. En este ejemplo pongo que solo se mostrara un alumno pero si se desean mostrar todos los usuarios ni siquiera seria necesario pasarle datos.

Cita:
"SELECT ".$fields." FROM ".$tablas."
INNER JOIN ".$tablas." ON ".$tablas.".id = ".$tablas.".company_id
A menos que quisieras hacer un inner join con la misma tabla no tiene sentido hacer una unión de la tabla $table=pepito con $table=pepito, ambas tablas deberian ser diferentes.

p.s. Has un echo de tu consulta para que te imprima como la generas. Ahí podras detectar mas errores.
__________________
Blog de humor http://elcuasatar.net63.net/
  #6 (permalink)  
Antiguo 04/04/2013, 15:06
danilugo87
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Querys Dinamicos

Cita:
Iniciado por ocp001a Ver Mensaje
Me parece que ya colocaste esto en otro post, procura no repetir temas.

Por otra parte, no quiero resultar grosero, pero ¿ya hiciste la prueba? la mejor forma de avanzar y salir de dudas es hacer la prueba, y sólo cuando algo falla y no se sabe por qué, preguntar.

Para tu pregunta, no suelo usar mucho el innerjoin así que no estoy seguro que la sintáxis sea correcta, pero sí te puedo decir que tengas mucho cuidado cuando el usuario tenga el poder de elegir los campos y las tablas a consultar, ya que ahí es muy fácil sacar datos delicados de la base de datos.
Cita:
Iniciado por cuasatar Ver Mensaje
Creo que aquí tienes dos serios errores. Uno de conceptos y por ende uno de codificación. Cuando yo hago una consulta inner join el usuario no tendria porque pasar los parametros de los campos ni de las tablas por post o get puesto que un usuario "comun y silvestre" lo unico que le deberia interesar es mandar un id,un nombre o cualquier otro y la consulta deberia mostrar el resultado. Pongo un ejemplo:

Código PHP:

"SELECT a.nombre, c.carrera FROM alumnos a
INNER JOIN carreras c ON a.id = c.id AND a.nombre="
.$_POST["nombre"].";"
Como ves el usuario no deberia porque pasar los campos. En este ejemplo pongo que solo se mostrara un alumno pero si se desean mostrar todos los usuarios ni siquiera seria necesario pasarle datos.



A menos que quisieras hacer un inner join con la misma tabla no tiene sentido hacer una unión de la tabla $table=pepito con $table=pepito, ambas tablas deberian ser diferentes.

p.s. Has un echo de tu consulta para que te imprima como la generas. Ahí podras detectar mas errores.
Realmente deberia ser asi:

"SELECT ".$campos." FROM ".$tabla."
INNER JOIN ".$tabla2." ON $tabla.id = $tabla2.id
  #7 (permalink)  
Antiguo 04/04/2013, 15:46
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 7 meses
Puntos: 47
Respuesta: Querys Dinamicos

Mira te planteo algo y analizalo solo para que comprendas si lo que queres hacer tiene logica...


Supone que soy yo quien tengo ese formulario y te pido a ti que selecciones los nombres de las tablas.. como harias para saber que tablas son las que en verdad puede relacionar???
Que pasa si le envias dos tablas que no puedes relacionar ya que no hay campos que permitan la relacion??

Eso que quieres hacer lo encuentro poco logico

Etiquetas: dinamicos, formulario, mysql, querys, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:23.