Foros del Web » Programando para Internet » PHP »

Mostrar resultados específicos

Estas en el tema de Mostrar resultados específicos en el foro de PHP en Foros del Web. tengo esta consulta Código PHP: $sql  =  mysql_query ( "SELECT comentarios.idComentario, comentarios.comentario, comentarios.idNoticia, usuarios.usuario, noticias.titulo    FROM `comentarios`   INNER JOIN `usuarios` ON comentarios.idUsuario = usuarios.idUsuario   INNER JOIN `noticias` ON comentarios.idNoticia = noticias.idNoticia   WHERE comentarios.estado = 'sin validar'  ORDER BY comentarios.idComentario ASC" );  Necesito que solo muestre los comentarios echos por usuarios ...
  #1 (permalink)  
Antiguo 21/05/2011, 20:14
Avatar de nuuk_ikel  
Fecha de Ingreso: agosto-2008
Ubicación: [ Dimensión desconocida ]
Mensajes: 164
Antigüedad: 15 años, 8 meses
Puntos: 3
Pregunta Mostrar resultados específicos

tengo esta consulta

Código PHP:
$sql mysql_query("SELECT comentarios.idComentario, comentarios.comentario, comentarios.idNoticia, usuarios.usuario, noticias.titulo   
FROM `comentarios`  
INNER JOIN `usuarios` ON comentarios.idUsuario = usuarios.idUsuario  
INNER JOIN `noticias` ON comentarios.idNoticia = noticias.idNoticia  
WHERE comentarios.estado = 'sin validar' 
ORDER BY comentarios.idComentario ASC"
); 
Necesito que solo muestre los comentarios echos por usuarios en notas echas por cada usuario ejemplo:

mi nota

pablito comento esto en tu nota:

me agrada el contenido

Juanito comento esto en tu nota:

tambien me agrada el contenido

Alguien puede decirme como hacerlo?

Esta consulta me devuelve los comentarios echos por mi(como usuario) en otras notas, ahora necesito que me muestre los comentarios echos por otros usuarios en mis notas
postee esto en el foro de mysql y me mandaron para acá

Código PHP:
$sql mysql_query("SELECT comentarios.idComentario, comentarios.comentario, comentarios.idNoticia, usuarios.usuario, noticias.titulo  
FROM `comentarios` 
INNER JOIN `usuarios` ON comentarios.idUsuario = usuarios.idUsuario 
INNER JOIN `noticias` ON comentarios.idNoticia = noticias.idNoticia 
WHERE comentarios.estado = 'sin validar'
&& usuarios.usuario='"
.$arrUsuario['usuario']."'
ORDER BY comentarios.idComentario ASC"
); 
__________________
[ Si hay un problema, existe una solución ]
  #2 (permalink)  
Antiguo 21/05/2011, 20:22
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Mostrar resultados específicos

de mysql te mandaron para aca?

que raro O_O¡¡¡
  #3 (permalink)  
Antiguo 21/05/2011, 21:10
Avatar de nuuk_ikel  
Fecha de Ingreso: agosto-2008
Ubicación: [ Dimensión desconocida ]
Mensajes: 164
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: Mostrar resultados específicos

ok, alguien que pueda ayudarme?
__________________
[ Si hay un problema, existe una solución ]
  #4 (permalink)  
Antiguo 22/05/2011, 10:03
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Mostrar resultados específicos

es dificil decirlo, solo viendo tus consultas ¬¬ no conocemos la estructura de tus tablas, aun así

se identifican 3 tablas

comentarios, usuarios y noticias suponiendo que lo que llamas notas sean las noticias.

la lógica sería que te devuelva todos los comentarios, asociados a las notas, asociadas a tu id,

que no esten asociados a tu id algo asi:

desafortunadamente como mencione antes se me hace raro que te manden para acá si esto es php

y tu duda es mysql, siento no poder ayudarte más.

y tal vez deberias insultar al que te mandó para acá y no a mi

una cosa más egolatra signica "que siente veneración por si mismo"

y yo no veo que tenga que ver eso con la respuesta que te dí antes.
  #5 (permalink)  
Antiguo 22/05/2011, 10:43
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: Mostrar resultados específicos

En realidad lo mandamos acá porque pare ser que lo que necesita resolver es cómo poner en forma consecutiva cosas como:
Cita:
mi nota
pablito comento esto en tu nota:
"me agrada el contenido"
Juanito comento esto en tu nota:
"tambien me agrada el contenido"
MySQL y cualquier DBMS puede ayudar a obtener los datos para generar esa forma de presentación, pero lo que no puede hacer es armar una tabla de salida como esa, donde ya vengan definidos esos renglones y de esa forma. Eso no se hace con la base de datos, sino (en este caso) con PHP sobre la base de la tabla resultado de la consulta.
Puede que no quede claro cuál es la parte que necesita: Si saber cómo hacer la consulta (algo básica, de manual) o cómo armar la tabla en pantalla.
El primer caso es SQL, el segundo PHP.
El problema de la consulta es que no nos está dando indicación de cómo identifica a los usuarios que hicieron los comentarios, tampoco conocemos la estructura de las tablas o la forma en que están definidas las relaciones en ellas. O sea: Es insuficiente para resolver el problema de la consulta. Sólo podemos sugerir que mire la otra parte: La presentación...

Creo, nuuk_ikel, que hace falta que des información más completa si quieres que te demos ayuda para resolver el problema, sea en MySQL como en PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 22/05/2011, 15:37
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 7 meses
Puntos: 12
Respuesta: Mostrar resultados específicos

Hola lo que dice gnzsoloyo es cierto. se supone que el usuario y la noticia esta encluido en la tabla comentario. estas tratando de hacer algo como un muro de facebook? hace tiempo hice algo parecido lo maneje con un switch para saber de que tablas tomar la informacion pero no si sea la mejor manera de hacer esto no estoy seguro. aun ando buscando como puedo mejorar esto porque no me gusta la idea de estar agregando un case en el switch por cada caso del "muro".
__________________
El querer... es poder!!
  #7 (permalink)  
Antiguo 23/05/2011, 13:23
Avatar de nuuk_ikel  
Fecha de Ingreso: agosto-2008
Ubicación: [ Dimensión desconocida ]
Mensajes: 164
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: Mostrar resultados específicos

Bueno... creo que la solución al problema era mas simple de lo que parecia... y la información que di era suficiente, posteo la solución por si te sirve de algo uselox, como dije... esta consulta me daba los comentarios echos por mi como usuario en otras notas:

(donde $arrUsuario['usuario'] hace referencia al usuario que inicio sesion )

Código MySQL:
Ver original
  1. $sql = mysql_query("SELECT comentarios.idComentario, comentarios.comentario, comentarios.idNoticia, usuarios.usuario, noticias.titulo  
  2. FROM `comentarios`
  3. INNER JOIN `usuarios` ON comentarios.idUsuario = usuarios.idUsuario
  4. INNER JOIN `noticias` ON comentarios.idNoticia = noticias.idNoticia
  5. WHERE comentarios.estado = 'apto'
  6. && usuarios.usuario='".$arrUsuario['usuario']."'
  7. ORDER BY comentarios.idComentario ASC");

bien esta es la consulta que me arroja los resultados de los comentarios echos por otros usuarios en mis notas, lo único que se tenia que hacer era agregar el operador != para que mostrara los resultados de usuarios diferentes a mi.

Código MySQL:
Ver original
  1. $sql = mysql_query("SELECT comentarios.idComentario, comentarios.comentario, comentarios.idNoticia, usuarios.usuario, noticias.titulo  
  2. FROM `comentarios`
  3. INNER JOIN `usuarios` ON comentarios.idUsuario = usuarios.idUsuario
  4. INNER JOIN `noticias` ON comentarios.idNoticia = noticias.idNoticia
  5. WHERE comentarios.estado = 'sin validar'
  6. && usuarios.usuario !='".$arrUsuario['usuario']."'
  7. ORDER BY comentarios.idComentario ASC");

Se nos escapo a los tres, jeje bueno no importa gracias por intentar ayudarme memoadian y gnzsoloyo. >.< este tema si era para el foro de mysql...
__________________
[ Si hay un problema, existe una solución ]

Última edición por nuuk_ikel; 23/05/2011 a las 13:31
  #8 (permalink)  
Antiguo 23/05/2011, 14:20
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Mostrar resultados específicos

no diste la información necesaria, por que para hacerlo necesitabamos conocer la estuctura de tus tablas.

y solo pusiste una consulta.
  #9 (permalink)  
Antiguo 23/05/2011, 15:15
Avatar de nuuk_ikel  
Fecha de Ingreso: agosto-2008
Ubicación: [ Dimensión desconocida ]
Mensajes: 164
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: Mostrar resultados específicos

mmm pues.. a mi me basto con poner el operador y listo, y solo modifique el bloque de código que enseñe. :) pero bueno, tal vez tienes razón gracias de todas formas, igual sigo creyendo que era muy simple, y pertenecía al foro de mysql, como sea karma pa todos yo invito hehe
__________________
[ Si hay un problema, existe una solución ]

Etiquetas: resultados
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:32.