Problema de planteamiento
Comenzado por
lagares66
, may 17 2012 01:08
10 respuestas en este tema
#1
Escrito 17 mayo 2012 - 01:08
Os comento mi problema, ya que creo que soy incapaz y la cabeza me va a explotar.
Tengo 3 Tablas
Users
id
nombre
Archivo
id_archivo
archivo
id_user
id_cat
Categorias
cat_id
categoria
Realizo la búsqueda relacionada
$consulta = "SELECT * FROM Users
JOIN panel ON Users.id = id_user
JOIN cat ON id_cat=cat_id
WHERE Users.id='$codigo'";
y supuesta mente desde esta consulta puedo conseguir todos los datos y asi es pero no se como estructurar como quiero
ejemplo de lo que quiero
Categoria Animales
Libro uno libro dos libro 3 ect...
parece muy fácil pero no tengo manera y creo que no me lo estoy planteando nada bien alguna ayudita.
gracias
Tengo 3 Tablas
Users
id
nombre
Archivo
id_archivo
archivo
id_user
id_cat
Categorias
cat_id
categoria
Realizo la búsqueda relacionada
$consulta = "SELECT * FROM Users
JOIN panel ON Users.id = id_user
JOIN cat ON id_cat=cat_id
WHERE Users.id='$codigo'";
y supuesta mente desde esta consulta puedo conseguir todos los datos y asi es pero no se como estructurar como quiero
ejemplo de lo que quiero
Categoria Animales
Libro uno libro dos libro 3 ect...
parece muy fácil pero no tengo manera y creo que no me lo estoy planteando nada bien alguna ayudita.
gracias
#2
Escrito 17 mayo 2012 - 01:18
Hola lagares66
No repitas hilos, con uno es suficiente. He borrado el otro hilo.
Saludos
No repitas hilos, con uno es suficiente. He borrado el otro hilo.
Saludos
#3
Escrito 17 mayo 2012 - 01:21
Gracias por borrarlo, a sido un fallo es que pensé que no se había publicado lo siento y gracias de nuevo.
#4
Escrito 17 mayo 2012 - 01:36
Gracias por borrarlo, a sido un fallo es que pensé que no se había publicado lo siento y gracias de nuevo.
No hay problema, espero que alguien te ayude con tu problema pronto.
Saludos
#5
Escrito 17 mayo 2012 - 02:19
Buenas tardes amigo lagares66...
No sé si es el sueño o el calor que hace pero no he entendido muy bien tu planteamiento...
Comprendo lo de que tienes tres tablas y veo tu consulta (a primera vista no le encuentro nada erróneo) pero no comprendo los datos que necesitas ni como deseas visualizarlos, sería un poco más sencillo que nos mostraras un ejemplo "llenando" en tus tablas registros ficticios y lo que al final esperas observar con tu consulta (claro, usando esos datos ficticios)...
Creo que sería más sencillo...
Saludox !
No sé si es el sueño o el calor que hace pero no he entendido muy bien tu planteamiento...
Comprendo lo de que tienes tres tablas y veo tu consulta (a primera vista no le encuentro nada erróneo) pero no comprendo los datos que necesitas ni como deseas visualizarlos, sería un poco más sencillo que nos mostraras un ejemplo "llenando" en tus tablas registros ficticios y lo que al final esperas observar con tu consulta (claro, usando esos datos ficticios)...
Creo que sería más sencillo...
Saludox !
#6
Escrito 17 mayo 2012 - 02:25
Hola Fenareth
si se que la consulta es correcta
pero para visualizar los resultados quiero hacer esto
echo categoria
echo archivo
y el resultado de impresión seria así
(categoria) Mamifero
(Archivo) delfin pez jirafa mono ect
y lo que yo consigo es esto
Mamífero delfín Mamífero pez mamífero jirafa
Me e explicado??
si se que la consulta es correcta
pero para visualizar los resultados quiero hacer esto
echo categoria
echo archivo
y el resultado de impresión seria así
(categoria) Mamifero
(Archivo) delfin pez jirafa mono ect
y lo que yo consigo es esto
Mamífero delfín Mamífero pez mamífero jirafa
Me e explicado??
#7
Escrito 17 mayo 2012 - 04:44
$consulta = "SELECT u.id_user, u.username, u.realname, c.id_cat, c.cat_noimbre, p.???, p.??? FROM Users u
JOIN panel p ON u.id = id_user
JOIN cat c ON c.id_ca t= u.cat_id
WHERE u.id='$codigo'";
$query = mysql_query($consulta);
while ($row = mysql_fetch_assoc($query) {
echo '(' . $row['cat_name'] .'] ' . $row['username'];
}
Espero con eso te de una pista.
Saludos.
#8
Escrito 18 mayo 2012 - 01:54
Con esta solución el resultado es este
mamífero perro mamífero ballena reptil serpiente
y yo lo que estoy buscando es
mamífero
perro
ballena
Reptil
Serpiente
Pero igualmente muchas gracias por vuestro interés y por contestar
mamífero perro mamífero ballena reptil serpiente
y yo lo que estoy buscando es
mamífero
perro
ballena
Reptil
Serpiente
Pero igualmente muchas gracias por vuestro interés y por contestar
#9
Escrito 18 mayo 2012 - 06:34
Hola, lo que tienes que hacer es hacer un group by en la consulta por categorías, pero de todos modos deberás hacer dos consultas, la primera es que traigas todas las categorías y dentro del while hacer otra con lo demás con el where obteniendo el id de la categoría, algo como:
Saludos.
while ($row = mysql_fetch_assoc($query) {
echo '(' . $row['cat_name'] .') <br /> ';
$consulta2 = "SELECT u.id_user, u.username, u.realname, p.???, p.??? FROM Users u
JOIN panel p ON u.id = id_user
WHERE u.id='$codigo' and u.id_cat = '$row['cat_id']'";
$query2 = mysql_query($consulta2);
while ($row1 = mysql_fetch_assoc($query2) {
echo $row1['username'] . '<br />';
}
}
Saludos.
#10
Escrito 18 mayo 2012 - 01:45
Sigo en la misma situación con esa solucion
se imprime asi
Mamífero
mono
Mamífero
cabra
reptil
serpiente
he utilizado las dos consultas
y he intentdo en una de ellas esto
$consulta = "SELECT distinct categoria FROM Users
JOIN panel ON Users.id = id_user
JOIN cat ON id_cat=cat_id
WHERE Users.id='$codigo'";
y lo que me hace es solo imprimir una por categoría.
no se como hacerlo ya no se que es lo que hago mal
se imprime asi
Mamífero
mono
Mamífero
cabra
reptil
serpiente
he utilizado las dos consultas
y he intentdo en una de ellas esto
$consulta = "SELECT distinct categoria FROM Users
JOIN panel ON Users.id = id_user
JOIN cat ON id_cat=cat_id
WHERE Users.id='$codigo'";
y lo que me hace es solo imprimir una por categoría.
no se como hacerlo ya no se que es lo que hago mal
#11
Escrito 19 mayo 2012 - 11:30
Mira cómo lo hice:
El resulto te lo anexo en una imagen más abajo.
Saludos.
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("test");
$cats = "SELECT * FROM categoria";
$query1 = mysql_query($cats);
while ($row1 = mysql_fetch_assoc($query1)) {
echo '(<strong> ' . $row1["cat_name"] . '</strong> )<br />';
$animales = "SELECT * FROM animales WHERE cat_id = " . $row1['cat_id'] . " ORDER BY an_name";
$query2 = mysql_query($animales);
while ($row2 = mysql_fetch_assoc($query2)) {
echo $row2["an_name"] . '<br />';
}
}
?>
El resulto te lo anexo en una imagen más abajo.
Saludos.