Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ordernar registro de formulario

Estas en el tema de ordernar registro de formulario en el foro de Mysql en Foros del Web. Hola, soy nuevo en esto de mysql, y bueno pues tengo la tarea de que tengo que hacer en workbench una consulta donde me ordene ...
  #1 (permalink)  
Antiguo 16/07/2016, 22:37
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
ordernar registro de formulario

Hola, soy nuevo en esto de mysql, y bueno pues tengo la tarea de que tengo que hacer en workbench una consulta donde me ordene los campos que estan en la columna fieldname de tal forma que voy a tener que dejarlo tal cual se ve en la segunda image.
--- Para que se entienda mejor:
*La base de datos es de un formulario
*Cada vez que alguien ingresa sus datos, los datos se ordenan como esta en el fieldname
en resumen tendria que hacer esto
/ tServicio / tNombre / tEmail / tFecha / tFax / tCodigo / tEnviar / tformid /
y mostrarme debajo de ellos los campos de fieldvalue
espero puedan ayudarme, gracias
  #2 (permalink)  
Antiguo 17/07/2016, 08:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

1) Un formulario no es una base de datos. A lo sumo es el origen de datos que pueblan a una base de datos.
2) El orden de los registros en base a una columna dada dependerá de la clave primaria que se defina.
3) Los ordenes con que se obtengan los registros dependerán de la forma de las consultas, Y si las mismas contienen o no la cláusula ORDER BY.
4) El orden de las columnas en la consulta puede ser o el mismo que posee la tabla den su definición o bien el indicado en ella SELECT de la consulta.
5) El orden de visualización en un formulario no es tema de Bases de Datos sino de programación. Allí lo resuelven.

Dicho esto, No queda muy claro que es lo que quieres hacer o que problema concreto tienes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/07/2016, 11:31
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

en resumen quiero hacer una consulta para tener este resultado usando los datos que ya tengo.
  #4 (permalink)  
Antiguo 17/07/2016, 13:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Bueno, eso no representa un problema ni un desafío. Simplemente tienes que poner en el SELECT la lista de columnas que necesitas en el mismo orden en que las quieres.
Es lo que hay que hacer cuando uno necesita sólo una parte de las columnas y no todas...

¿Cómo la intentaste escribir y que problema te causa?

Esencialmente, es una consulta de este tipo:

Código MySQL:
Ver original
  1. SELECT tServicio, tNombre, tEmail, tFecha, tFax, tCodigo, tEnviar, tformid
  2. FROM tablaformulario
  3. WHERE ...
  4. ORDER BY tServicio

Esta última linea sólo por si ese campo no es PK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 17/07/2016 a las 17:42
  #5 (permalink)  
Antiguo 17/07/2016, 20:59
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

gracias por responder, el tema es que tServicio, tNombre, tEmail, tFecha, tFax, tCodigo, tEnviar, tformid son campos pertenecientes a una columna, el tema seria como convertir esos campos en columnas y a las ves esos campos muestren el "fieldvalue" al cual estan asociados.
por ejemplo
esta es la tabla guow7_rsform_submission_values
con esta consulta se ven evidentemente que me muestre todos los campos de la columan fieldvalue que esten asociados a tservicio de la columna fieldname,
quisiera saber como hacer para que me muestre de los demas campos y su asociados en formas de columnas, todas al mismo tiempo
Cita:
select fieldvalue as TServicio from guow7_rsform_submission_values where fieldname ='tservicio'

Última edición por Montalvan; 17/07/2016 a las 21:24
  #6 (permalink)  
Antiguo 17/07/2016, 22:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Noto cierta confusión en tus conceptos referidos a bases de datos, como si entremezclaras base de datos con programación.
En Bases de Datos, Los términos "columna " y "campo" son sinónimos, refieren a la misma cosa. Por consecuencia no pueden, en una base de datos relacional, existir diferentes campos dentro de una misma columna.
La verdad es que no entiendo a que quieres referirse.
¿Estas trabajando realmente con MySQL?
¿Tu base y tablas están normalizadas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 17/07/2016, 23:00
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

estoy usando el workbench para hacer una consulta con esa base de datos
aca te dejo lo que me dieron
https://goo.gl/Vh19kv
  #8 (permalink)  
Antiguo 18/07/2016, 07:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Día lunes. Día de trabajo. Lo revisó esta noche.

De todos modos y antes que nada aclararme a que le estás llamando "campo" y qué es según tu una "columna", porque como te dije en BBDD son sinónimos, pero tú descripción parece decir que las consideras cosas diferentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 18/07/2016, 11:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Bien, finalmente logré hacerme unos minutos para echarle una mirada a esa cosa que subiste.... y francamente no es fácil darte una solución, porque eso que tienes no es una base de datos relacional, sino una base de datos taxonómica.
Las tablas son relacionales, pero las columnas de las tablas no contienen datos, contienen METADATOS, y no es posible, con una consulta SQL, lograr que te devuelva una tabla de resutados.
En este tipo de bases de datos las tablas que se representan en el formulario se obtienen programáticamente y no pos queries de SQL. Las queries proveen la información base, pero hay que procesar el resultado con un lenguaje para poder construir la vista que se presenta al usuario.

No la tienes fácil, y no, no se puede hacer una simple query para esto.
Si fuese factible, yo te aconsejaría rediseñar la base y migrar los datos normalizados allí. Es un trabajo de reingeniería completo, pero luego de eso tendrías una base de datos optimizada y funcional.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 18/07/2016, 12:02
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

pero mi punto va a realizar una consulta que ordene esos registros en forma de campos
si puedo mostrar con esta consulta todos los registros relacionados con tservicio, y con los demas tambien pero en forma independientes
Código MySQL:
Ver original
  1. select fieldvalue as TServicio from guow7_rsform_submission_values where fieldname ='tservicio'
Como podria hacer para unir o tener un resultado igual a la imagen que te pongo, en conclusion seria como ordernar varios registros a la vez en forma de campos
  #11 (permalink)  
Antiguo 18/07/2016, 12:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Obviamente no has entendido lo que te estoy diciendo.
No hay forma simple de hacer una sola consulta SENCILLA que te devuelva esos resultados.
De acuerdo a lo que he visto en los datos de las tablas, para lograr lo que necesitas tendrás que hacer un SELECT con un INNER JOIN de ocho niveles, donde cada INNER JOIN recuperará el dato de un campo y lo asociará al que le precede.
No te puedo poner un ejemplo exacto porque para hacerlo necesito analizar los datos de la tabla con cuidado, pero la idea es la que te describo
Código MySQL:
Ver original
  1. SELECT t1.valor Servicio, t2.valor Nombre, ... -- el resto de los casos, uno por uno
  2. FROM guow7_rsform_submission_values t1
  3.    INNER JOIN guow7_rsform_submission_values t2 ON t1.idvalor = t2.idvalor
  4.     ...
  5.     -- El resto de los JOIN, una vez por cada campo
  6. WHERE t1.idcampo =  'tServicio'
  7.     AND t2.idcampo=' tNombre'
  8.     ...

¿Se va entendiendo?

Lo que te puedo asegurar es que esa query es un espanto para la performance de la base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 18/07/2016, 14:40
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

sera este el caso?
http://stackoverflow.com/questions/14715011/mysql-pivot-table-date-vertical-to-horizontal-data
  #13 (permalink)  
Antiguo 18/07/2016, 17:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

No.
Pivotear una tabla es poner las columnas donde van las filas y las filas como columnas. En tu caso eso no cumplirá con lo requerido porque no es una tabla relacional.
En esencia, para poder pivotear una tabla, esta debe estar bien conformada y normalizada. Y no es tu caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 18/07/2016 a las 18:36
  #14 (permalink)  
Antiguo 19/07/2016, 10:56
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

Hola, hice estqa consulta y me aparecio las columnas, pero solo la primera me muestra los datos ordenados las demas el primer dato se repite, como se puede mejorar esto?
Código MySQL:
Ver original
  1. (select fieldvalue as servicio from guow7_rsform_submission_values where fieldname = 'tservicio') as servicio,
  2. (select FieldValue as nombre from guow7_rsform_submission_values where fieldname  = 'tnombre') as nombre,
  3. (select fieldvalue as email from guow7_rsform_submission_values where fieldname  = 'temail') as email,
  4. (select fieldvalue as fecha from guow7_rsform_submission_values where fieldname  = 'tfecha') as fecha,
  5. (select fieldvalue as pax from guow7_rsform_submission_values where fieldname  = 'tpax') as pax;

  #15 (permalink)  
Antiguo 19/07/2016, 11:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Porque estás haciendo un producto cartesiano.
Si prestas mejor atención a lo que yo te ejemplifico, verás que te estoy indicando que pongas las condiciones de la relación:
Código MySQL:
Ver original
  1. FROM guow7_rsform_submission_values t1
  2.    INNER JOIN guow7_rsform_submission_values t2 ON t1.idvalor = t2.idvalor
Eso significa que tienes que relacionar cada registro correspondiente a la misma instancia, la cual posiblemente esté representada por el campo FormId, aunque no puedo estar seguro sin analizar los datos.
O sea que cada registro con cada valor de campo FieldName debe vincularse con los demás por medio de ese FormId y TAL VEZ también el de SubmissionId (hay que verificarlo), para que pueda vincularse el conjunto de datos devueltos.
Por eso te digo que sería mejor normalizar los datos y crear una BBDD coherente y bien construida, y no esa COSA taxonómica, que solo sirve si luego resuelves todo por programación...

Te insisto: Es NO ES una verdadera base de datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 19/07/2016, 16:40
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

Hola, ya me salio, gracias.
pero me ha surgido otra duda, quisiera saber si es posible hacer en el workbench que me convierta estos ip a su pais de origen, o como podria hacer?
  #17 (permalink)  
Antiguo 19/07/2016, 17:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Workbench no hace nada. Lo hace MySQL. Workbench es solamente un cliente para acceder a MySQL de modo amigable, y no posee otros recursos.
Por su lado, MySQL sólo ejecuta consultas a bases de datos, fundamentalmente locales, con lo que la única "conversión" que puedes hacer es si tu mismo tienes la información en TU base.

Ese tipo de cosas se hace consultando webservices que devuelvan la información correspondiente, tarea que NO PUEDE SER realizada por MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #18 (permalink)  
Antiguo 20/07/2016, 08:51
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

supongo que se tendra que hacer en el php admin, o hay alguna forma de poder hacer eso? convirtiendo los ip a los paises de procedencia
  #19 (permalink)  
Antiguo 20/07/2016, 09:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ordernar registro de formulario

Si no tienes esos datos en una base, MySQL no los puede obtener. Asi de simple.

Mira, existen infinidad de servicios disponibles en Internet que te proveen esa información, y todos los desarrolladores los usan para obtener esa información, incluyendo el simple y conocido Whois.

Usa este link y obtendrás algunos: webservices for ip geolocalization
Simplemente consulta en el foro de PHP como consumir los WS que te resulten útiles y conseguirás los datos que buscas. Pero no tiene nada que ver con MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #20 (permalink)  
Antiguo 20/07/2016, 10:41
Avatar de Lucristiana  
Fecha de Ingreso: noviembre-2011
Mensajes: 41
Antigüedad: 12 años, 5 meses
Puntos: 1
Pregunta Respuesta: ordernar registro de formulario

Cita:
Iniciado por Montalvan Ver Mensaje
Hola, ya me salio, gracias.
pero me ha surgido otra duda, quisiera saber si es posible hacer en el workbench que me convierta estos ip a su pais de origen, o como podria hacer?
Hola.. ¿Cuál fue la solución?
  #21 (permalink)  
Antiguo 22/07/2016, 23:27
 
Fecha de Ingreso: julio-2016
Mensajes: 12
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: ordernar registro de formulario

bueno gracias, pero he recibido respuestas que no van con lo que tengo, estos datos solo los manejo para consultas y no tiene otro fin que solo realizar consultas como la que me pusistes, por eso aunque lo dudo, no se si se podra hacer una conversion de ip a pais solo con lo que tengo...
  #22 (permalink)  
Antiguo 23/07/2016, 11:18
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: ordernar registro de formulario

Esa conversión que necesitas como bien te comento el compañero no es posible hacerla a nivel de base de datos y sin tener una tabla que almacene todos los rangos de ip y sus respectivos países con la que la BD pueda trabajar.

Normalmente este tipo de cosas se suelen resolver con un servicio externo como bien te indican y a nivel de programación. La base de datos por si sola no es capaz de acceder a este tipo de servicios y mucho menos entender sus respuestas y procesarlas.


Estaría bien que indicaras como resolviste el problema o muestres la solución, para que otras personas con el mismo problema o similares les pueda ayudar.
__________________
Unset($vida['malRollo']);

Etiquetas: campo, fecha, formulario, registro, sql
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 02:08.