Foros del Web » Programando para Internet » PHP »

Formateo de una tabla

Estas en el tema de Formateo de una tabla en el foro de PHP en Foros del Web. Hola Despues de estar varias semanas pensando en resolver el problema y no encontrarle solución, recurro a tí para ver si me puedes echar una ...
  #1 (permalink)  
Antiguo 02/02/2010, 09:57
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Formateo de una tabla

Hola
Despues de estar varias semanas pensando en resolver el problema y no encontrarle solución, recurro a tí para ver si me puedes echar una mano.
Paso a exponerte el problema.
Tengo una tabla con muchos registros sobre nombres de plantas, la tabla tiene más o menos la siguiente extructura:

-----------------------------------------------------------------------------
| GENERO | ESPECIE | INFRANK | INFRA| AUTABRE | PAGINAS |
-----------------------------------------------------------------------------
| Rosa | | | | L. | 116, 210|
-----------------------------------------------------------------------------
| Rosa | canina | | | Herr. | 115, 200|
-----------------------------------------------------------------------------
| Rosa | canina | subsp. |Lutea | Willk. | 115, 200|
-----------------------------------------------------------------------------
| Rosa | Lutea | | | L. | 5 |
-----------------------------------------------------------------------------
| Rubus | | | | Boiss. | 116 |
-----------------------------------------------------------------------------
| Rubus | mayor | | | Reaj . | 115, 200|
-----------------------------------------------------------------------------
| Rubus | mayor | var. |Lutea | Willk. | 115, 200|
-----------------------------------------------------------------------------
| Rubus | alba | | | Aedo | 8 |
-----------------------------------------------------------------------------
|Veronica | | | | Mall. | 116, 210|
-----------------------------------------------------------------------------
|Veronica | minor | | | Willk. | 115, 200|
-----------------------------------------------------------------------------
|Veronica |vulgare | | | L. | 1, 8 |
-----------------------------------------------------------------------------

Bien. La forma que desearía que saliera sería:

Rosa L., 116, 210
canina herr., 115, 200
subsp. lutea Willk., 115, 200
Lutea
Rubus Boiss., 116
alba Aedo, 8
mayor Reaj., 115, 200
var. lutea Willk., 115, 200
Veronica Mall., 116, 210
minor Willk., 115, 200
vulgare L., 1, 8

Alfabetizado por GENERO, ESPECIE, INFRANK y INFRA
y luego el campo GENERO que solo salga una vez si se repite
El campo ESPECIE solo una vez tambien y con un sangrado.
El campo INFRANK + INFRA con un doble sangrado sin que salga la ESPECIE y debajo de su ESPECIE.
Cada uno con su AUTABRE y su PAGINAS.

En realidad es un índice que necesito sacar de una gran tabla de plantas y preciso que sea lo más claro posible.
Te estaría muy agradecido si me pudieras hechar un mano.
Muchas gracias
  #2 (permalink)  
Antiguo 02/02/2010, 12:52
 
Fecha de Ingreso: abril-2005
Ubicación: Ciudad de México
Mensajes: 50
Antigüedad: 19 años
Puntos: 2
Respuesta: Formateo de una tabla

Pon aqui un SQL con unos 15 registros para poder ayudarte.

Saludos
  #3 (permalink)  
Antiguo 03/02/2010, 02:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Formateo de una tabla

Cita:
Iniciado por webrek Ver Mensaje
Pon aqui un SQL con unos 15 registros para poder ayudarte.

Saludos
Me imagino que con SQL te refieres a la tabla con los insert .



-- phpMyAdmin SQL Dump
-- version 3.1.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 03-02-2010 a las 08:59:38
-- Versión del servidor: 5.1.30
-- Versión de PHP: 5.2.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `fiberica`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `indice3`
--

CREATE TABLE IF NOT EXISTS `indice3` (
`GENERO` varchar(22) COLLATE utf8_unicode_ci DEFAULT NULL,
`HIB` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
`ESPECIE` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
`INFRANK` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
`INFRA` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`AUTABRE` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`PARENTALES` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
`RGENERO` varchar(22) COLLATE utf8_unicode_ci DEFAULT NULL,
`RHIB` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
`RESPECIE` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
`RINFRANK` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
`RINFRA` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`RAUTABRE` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`STATUS` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
`FAMILIA` varchar(21) COLLATE utf8_unicode_ci DEFAULT NULL,
`Tomo` double DEFAULT NULL,
`COMENTNOM` mediumtext COLLATE utf8_unicode_ci,
`FLBASICA` tinyint(1) DEFAULT NULL,
`PAG_INDEX` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`PAG_ADIC_ANTERIORMISMOTOMO` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
`PAG_ADIC_MISMOTOMO` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
`PAG_ADIC_ANTERIOROTROTOMO` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`PAG_ADIC_OTROTOMO` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`NUM_ESP` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
`NOTA_TAX` mediumtext COLLATE utf8_unicode_ci,
`PAG_ESP` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
`RPARENTALES` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
`OBSERVNOM` mediumtext COLLATE utf8_unicode_ci,
`paginas` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Volcar la base de datos para la tabla `indice3`
--

INSERT INTO `indice3` (`GENERO`, `HIB`, `ESPECIE`, `INFRANK`, `INFRA`, `AUTABRE`, `PARENTALES`, `RGENERO`, `RHIB`, `RESPECIE`, `RINFRANK`, `RINFRA`, `RAUTABRE`, `STATUS`, `FAMILIA`, `Tomo`, `COMENTNOM`, `FLBASICA`, `PAG_INDEX`, `PAG_ADIC_ANTERIORMISMOTOMO`, `PAG_ADIC_MISMOTOMO`, `PAG_ADIC_ANTERIOROTROTOMO`, `PAG_ADIC_OTROTOMO`, `NUM_ESP`, `NOTA_TAX`, `PAG_ESP`, `RPARENTALES`, `OBSERVNOM`, `paginas`) VALUES
('Acanthorrhinum', '_', '_', '_', '_', 'Rothm.', '_', 'Pseudomisopates', '_', NULL, '_', '_', '_', NULL, 'Scrophulariaceae', 13, NULL, 1, '205', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', 'en las observaciones del género Pseudomisopates', '205'),
('Acanthorrhinum', '_', 'rivas-martinezii', '_', '_', '(Sánchez Mata) Fern. Casas & Sánchez Mata', '_', 'Pseudomisopates', '_', 'rivas-martinezii', '_', '_', '(Sánchez Mata) Güemes', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '205 (1)'),
('Agerella', '_', '_', '_', '_', 'Fourr.', '_', 'Veronica', '_', NULL, '_', '_', '_', NULL, 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', 'necesario para el índice', NULL),
('Agerella', '_', 'acinifolia', '_', '_', '(L.) Fourr.', '_', 'Veronica', '_', 'acinifolia', '_', '_', 'L.', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '427 (39)'),
('Agerella', '_', 'arvensis', '_', '_', '(L.) Fourr.', '_', 'Veronica', '_', 'arvensis', '_', '_', 'L.', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '409 (23)'),
('Agerella', '_', 'verna', '_', '_', '(L.) Fourr.', '_', 'Veronica', '_', 'verna', '_', '_', 'L.', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '410 (24)'),
('Alectorolophus', '_', '_', '_', '_', 'Zinn', '_', 'Rhinanthus', '_', NULL, '_', '_', 'L.', '*', 'Scrophulariaceae', 13, 'nom. illeg.', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, NULL),
('Alectorolophus', '_', 'angustifolius', '_', '_', '(C.C. Gmel.) Heynh.', '_', 'Rhinanthus', '_', 'angustifolius', '_', '_', 'C.C. Gmel.', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '534 (4)'),
('Alectorolophus', '_', 'antoninii', '_', '_', 'Sennen', '_', 'Rhinanthus', '_', 'minor', '_', '_', 'L.', '=', 'Scrophulariaceae', 13, 'in sched.', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', '[BCF 44590]', '531 (1)'),
('Alectorolophus', '_', 'arvernensis', '_', '_', '(Chabert) Sterneck', '_', 'Rhinanthus', '_', 'pumilus', 'subsp.', 'pumilus', '(Sterneck) Pau', '=', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '532 (2)'),
('Alectorolophus', '_', 'ceretanus', '_', '_', 'Sennen', '_', 'Rhinanthus', '_', 'pumilus', 'subsp.', 'pumilus', '(Sterneck) Pau', '=', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', 'Anteriormente, in Bull. Soc. Bot. France 73: 663 (1926), sin descripción.', '532 (2)'),
('Alectorolophus', '_', 'grandiflorus', '_', '_', 'Sennen & Gonzalo in Sennen', '_', 'Alectorolophus', '_', 'grandiflorus', '_', '_', 'Sennen & Gonzalo in Sennen', NULL, 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', 'necesario para el índice', NULL),
('Alectorolophus', '_', 'grandiflorus', '_', '_', 'Wallr.', '_', 'Rhinanthus', '_', 'angustifolius', '_', '_', 'C.C. Gmel.', '=', 'Scrophulariaceae', 13, NULL, 1, '536', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', 'también en las observaciones', '536'),
('Alectorolophus', '_', 'grandiflorus', '07f.', 'ausonensis', 'Sennen & Gonzalo in Sennen', '_', 'Rhinanthus', '_', 'pumilus', 'subsp.', 'pumilus', '(Sterneck) Pau', '=', 'Scrophulariaceae', 13, 'in sched.', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', '[BCF 44592]', '532 (2)'),
('Alectorolophus', '_', 'grandiflorus', '04var.', 'pumilus', '(Sterneck) Rouy in Rouy & Foucaud', '_', 'Rhinanthus', '_', 'pumilus', 'subsp.', 'pumilus', '(Sterneck) Pau', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '532 (2)'),
('Alectorolophus', '_', 'maritimus', '_', '_', 'Sennen & Leroy in Sennen', '_', 'Rhinanthus', '_', 'minor', '_', '_', 'L.', '=', 'Scrophulariaceae', 13, 'in sched., nom. nud.', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', '[BCF 44604]', '531 (1)'),
('Alectorolophus', '_', 'mediterraneus', '_', '_', 'Sterneck', '_', 'Rhinanthus', '_', 'pumilus', 'subsp.', 'pumilus', '(Sterneck) Pau', '=', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '532 (2)'),
('Alectorolophus', '_', 'minor', '_', '_', '(L.) Wimm. & Grab.', '_', 'Rhinanthus', '_', 'minor', '_', '_', 'L.', '*', 'Scrophulariaceae', 13, NULL, 1, '531', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '531'),
('Alectorolophus', '_', 'phallax', '_', '_', '(Rouy) Prain', '_', 'Alectorolophus', '_', 'phallax', '_', '_', '(Rouy) Prain', NULL, 'Scrophulariaceae', 13, 'non (Wimm. & Grab.) Sterneck', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', 'necesario para el índice', NULL),
('Alectorolophus', '_', 'phallax', '04var.', 'hispanicus', 'Sennen & Elías in Sennen', '_', 'Rhinanthus', '_', 'minor', '_', '_', 'L.', '=', 'Scrophulariaceae', 13, 'in sched., nom. nud.', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', '[BCF 44603]', '531 (1)'),
('Alectorolophus', '_', 'pumilus', '_', '_', 'Sterneck', '_', 'Rhinanthus', '_', 'pumilus', 'subsp.', 'pumilus', '(Sterneck) Pau', '*', 'Scrophulariaceae', 13, NULL, 1, '532', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', '[basión.]', '532'),
('Alectorolophus', '_', 'trixago', '_', '_', '(L.) M. Bieb.', '_', 'Bartsia', '_', 'trixago', '_', '_', 'L.', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '504 (2)'),
('Alicosta', '_', '_', '_', '_', 'Dulac', '_', 'Bartsia', '_', NULL, 'sect.', 'Bartsia', 'L.', '*', 'Scrophulariaceae', 13, 'nom. illeg.', 1, '502', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', '[art. 52.1 y 52.2; Saint Louis I.C.B.N.]', '502'),
('Alicosta', '_', 'alpina', '_', '_', '(L.) Dulac', '_', 'Bartsia', '_', 'alpina', '_', '_', 'L.', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '502 (1)'),
('Alicosta', '_', 'spicata', '_', '_', '(Ramond) Dulac', '_', 'Nothobartsia', '_', 'spicata', '_', '_', '(Ramond) Bolliger & Molau', '*', 'Scrophulariaceae', 13, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '_', NULL, '507 (2)');
  #4 (permalink)  
Antiguo 03/02/2010, 04:25
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 8 meses
Puntos: 12
Respuesta: Formateo de una tabla

Lol!! no se entiende nada. Una cosita, creo vamos. A primera vista estoy viendo un montón de campos NULL no creo que eso sea optimizar una tabla de una base de datos.

Si tienes que hacer una selección de varias (por ejemplo digamos los días de la semana que hay sólo 7 posibilidades) deberías incluir un camo ENUM te consumirá menos recursos y estará todo más ordenadito.
  #5 (permalink)  
Antiguo 03/02/2010, 06:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Formateo de una tabla

Cita:
Iniciado por morior Ver Mensaje
Lol!! no se entiende nada. Una cosita, creo vamos. A primera vista estoy viendo un montón de campos NULL no creo que eso sea optimizar una tabla de una base de datos.

Si tienes que hacer una selección de varias (por ejemplo digamos los días de la semana que hay sólo 7 posibilidades) deberías incluir un camo ENUM te consumirá menos recursos y estará todo más ordenadito.
He subido lo que me ha pedido el miembro anterior. un archivo sql con unos 20 registros (me imagino que para subirlo él como tabla e intentar ayudar).
Si tu postura fuera constructiva y de apoyo a los que poco sabemos, te habrías dado cuenta que unos post más arriba explico que es lo que quiero y no me sale, en vez de eso criticas lo de los campos null (que no viene ahora al tema) cuando es una tabla estandar de biodiversidad que se usa en universidades y centros de investigación con el programa "bidmaster" y yo no soy nadie para tocarla, pero tu parece que si.
Muchas gracias.

Etiquetas: formateo, tablas
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 16:25.