Comunidad de diseño web y desarrollo en internet online

Matriz dentro de un campo (MySQL)

Citar            
MensajeEscrito el 15 Jul 2007 06:29 pm
Buenas...
Mi inquietud es la siguiente:
¿De qué forma puedo tener una matriz dentro de un campo de una tabla para luego poder acceder a cada elemento?

Por ejemplo:
Tengo un sist. de noticias que saca la inf. de una tabla en mysql cuyos campos son:
titulo
autor
categoria
noticia
....

Pues bien, el campo categoria quiero que contenga una matriz de valores, por ejemplo, actualidad, deporte, humor, etc...
Entonces cuando quiera ver SÓLO las noticias de deportes el camino sera: tabla mysql -> categoria -> deportes.

Ojalá puedan ayudarme.
Gracias.

Por sircuitr

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jul 2007 10:24 pm
Tablas asociadas tenes que utilizar.
Una tabla 'categorias' donde ahi pones las categorias que quieras (deporte, humor, etc...) con un identificador.
Y en la tablas 'noticia' creas un campo donde el valor de cada registro debe ser igual al identificador de la categoría.

Saludos

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jul 2007 02:42 am
Eeeee.... podrías detallar mas el proceso? entiendo lo que quieres hacer pero llevado a MySQL :?
Gracias.

Por sircuitr

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jul 2007 03:07 pm
Crea un nuevo campo en la base de datos de tus datos, con el nombre categoría, eso se hace desde el administrador de base de datos.

Ahi escribe ya sea los nobres de las categorías o un numero identificador por cada una de las categorías (tu decide)


deportes, accion...
ó
1(que tú sepas que es deportes), 2(que tú sepas que es acción).....


Si ya tienes información previa en la base de datos te toca llenarlo a ti :shock:

En las consultas de la base de datos es cuando tu empiezas a catalogar:

Código :

 Select Dato_que_necesito, Otro_dato_que_necesito ... From Noticias where categoria = $La_que_yo_elija //es mejor usar variabes, evitas escribir varios codigos, tu sabes... 1 por cada categoría


Yo tambien estoy empezando con esto espero que te haya servido de algo.

Por Arturo_X

13 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Jul 2007 03:24 pm
Como ya te mencionaron se hace con Tablas relacionadas.

Como es esto?

Es sencillo, digamos que tienes tu tabla "Noticias" con esta estructura:

Código :

| Noticias |
|----------|
| ID       |
| Titulo   |
| Noticia  |
| Categoria|
| ...      |
|----------|


Si bien, podemos meterle más campos y demás, pero por ahora con eso es suficientemente ilustrativo.

Tu necesitas que otra tabla te diga que Categoría es, o simplemente que puedas seleccionar una categoría y te muestre solo las noticias de la que acabas de seleccionar.

Usaremos una tabla como esta:

Código :

| Categoria |
|-----------|
| Cat_ID    |
| Categoria |
| ...       |
|-----------|


Si observas, ahora tenemos 2 Tablas, pero necesitamos enlazarlas, para eso cambiaremos un poco nuestra Tabla "Noticias" y quedaría algo asÍ:

Código :

| Noticias |
|----------|
| ID       |
| Titulo   |            | Categoria |
| Noticia  |            |-----------|
| Cat_ID   | ---------> | Cat_ID    |
| ...      |            | Categoria |
|----------|            | ...       |
                        |-----------|


Como se puede ver, vas a apuntar a un ID, o identificador de la tabla Categorias, ahí vas a guardar su ID y su Categoria, y en la tabla "Noticias" vas a almacenar unicamente los ID de las categorías.

Cuando necesites usar solamente cierta categoría sería algo como:

Código :

select * from noticias where cat_id = $categoria_id


Espero te quede más claro.

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

firefox
Citar            
MensajeEscrito el 29 Jul 2007 03:51 pm
Entiendo lo de las tablas relacionadas pero, al momento de hacer la consulta, con el sólo hecho de apuntar a Cat_ID la DB sabe que tiene que ir a buscar la info a la tabla CATEGORIA? Lo digo porque, supongamos que tengo mas tablas y en ellas se repiten algunos nombres, entonces, cómo la consulta enlazará con la tabla que quiero, siendo que sólo me estoy refiriendo a UN campo de ella?

Por sircuitr

4 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.