Foros del Web » Programando para Internet » PHP »

Mostrar un campo concreto de mysql en una pagina

Estas en el tema de Mostrar un campo concreto de mysql en una pagina en el foro de PHP en Foros del Web. Hola a todos Tengo un sistema de usuarios y cada usuario tiene su pagina, a todos les sale sus comentarios en su pagina, pero quisiera ...
  #1 (permalink)  
Antiguo 05/03/2011, 10:33
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 0
Mostrar un campo concreto de mysql en una pagina

Hola a todos

Tengo un sistema de usuarios y cada usuario tiene su pagina, a todos les sale sus comentarios en su pagina, pero quisiera que al visitar la pagina de otros usuarios pudiesen ver los comentarios que otros usuarios han puesto y por mas que lo e intentado siempre me sale el comentario del usuario que visita.
No se si me explico
Ejemplo:
javier es un usuario y tiene un comentario "hola"
Pedro es otro usuario y el comentario es "adios"
Javier aunque mire la pagina de pedro siempre le sale "hola"
El codigo que uso es este

<?php include "../../config.php"; mysql_connect($server, $db_user, $db_pass) or die (mysql_error()); $result = mysql_db_query($database, "select * from $table WHERE username = '$username'") or die (mysql_error()); while ($qry = mysql_fetch_array($result)) { echo "$qry[comentario]"; } ?>

Y no soy capaz de dar con el fallo, me han dicho que esta en WHERE username = $username.
Pero no e sido capaz de arreglarlo.
He intentado poner WHERE comentario = $comentario pero me da error en la fila
Ya no se como probar
Me podeis ayudar
Muchas gracias
  #2 (permalink)  
Antiguo 05/03/2011, 10:40
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Mostrar un campo concreto de mysql en una pagina

En ese query estas trayendo solo los comentarios que hizo USERNAME osea que si esta el user Javier solo traerá los comentarios de Javier

Deberías pedir en el query los comentarios para esa pagina... no se como manejaras esa parte, talvez un ID o algo que identifique solo los comentarios de la pagina de ese usuario.

Espero que me entiendas y que te sirva.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 05/03/2011, 15:09
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Mostrar un campo concreto de mysql en una pagina

Gracias por la respuesta

Pues la verdad no lo e entendido mucho, soy muy nuevo en esto, id si tiene la base de datos, pero no se como relacionarlo con el usuario al que se visita.
Eso si, tabajo solo con una tabla en la base de datos con campos como
id
username
password
comentario
etc..
donde el id es autoincrement, logico
y el username es unique
  #4 (permalink)  
Antiguo 06/03/2011, 07:16
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Mostrar un campo concreto de mysql en una pagina

Entonces deberás crear alguna forma de relacionar cada comentario con cada usuario, yo crearia una tabla adicional para manejar los comentarios mas o menos asi:

id - IDusuario - IDquienPusoComentario - comentario - otrosCampos

Y asi sabre a quien se le puso comentario y quien lo puso

Espero ser claro, un feliz dia
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 06/03/2011, 22:45
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Mostrar un campo concreto de mysql en una pagina

Es que tienes que hacer otra tabla para poner todos los comentarios, llamala comentarios y ponle los campos id - id_autor(aqui va el id de quiene escribe el comentario) y comentario (aqui iria el comentario)

luego en la pagina en donde el usuario escribe el comentario guardas su id en el campo id_autor, despues cuando alguien vaya a ver la pagina personal de por ejemplo maria, llevas su id usando un get, y muestras solo los comentarios en que id_autor sea igual al id de maria (el id que tiene en la tabla usuarios)
  #6 (permalink)  
Antiguo 07/03/2011, 11:38
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Mostrar un campo concreto de mysql en una pagina

Uf...
Vale ire despacio que esto ya es mucho lio.
Primero creo la nueva tabla, ahi no hay problema.
Campos
Id (AUTOINCREMENT)
Id_autor (UNIQUE)
comentario
comentario1

Luego como asigno el id de la tabla que ya existe a la nueva a su autor?

Perdonar pero no soy ningun experto, ni parecido lo aprendo todo a base de estropear mucha cosas.

mucha gracias
  #7 (permalink)  
Antiguo 08/03/2011, 13:59
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Mostrar un campo concreto de mysql en una pagina

He conseguido casi todo gracias a las ideas que me habeis dado vosotros,
A ver os explico

No he necesitado hacer otra tabla, lo e conseguido creando un campo nuevo en la tabla como name que es igual al username. pero username lo utilizo para iniciar sesion por eso me pasaba todo por el usuario que estaba viendo, era el el username.

$username = $_COOKIE['loggedin'];
if (!isset($_COOKIE['loggedin'])) die("Usted no esta identificado, <a href=../identificarse.html>click aqui</a> para identificarse.");
echo "Bienvenido $username";

Lo he solucionado asi:

<?php include "../../config.php"; " mysql_connect($server, $db_user, $db_pass) or die (mysql_error()); $result = mysql_db_query($database, "select * from $table WHERE name = 'javier'") or die (mysql_error()); while ($qry = mysql_fetch_array($result)) { echo "$qry[comentario]"; } ?>

Ahora solo me falta una cosa, y es que en vez de poner el nombre

WHERE name = 'javier'

seria poder recoger el name en una variable

WHERE name = '$name'

pero no lo he conseguido
Me podeis decir como hacerlo.

Muchas gracias
  #8 (permalink)  
Antiguo 08/03/2011, 15:22
 
Fecha de Ingreso: julio-2010
Ubicación: Galicia
Mensajes: 91
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: Mostrar un campo concreto de mysql en una pagina

Pues, al hacer clic para ver la página de otro usuario pásale una variable con Get, el link te quedaría algo así www.tupagina.com/loquesea?iduser=ID del user que quieras ver
en el code lo recoges: $iduser=$_Get["iduser"]; y así ya puedes hacer un select para el comentario del user según su ID
Where Id=$iduser

No me se explicar muy bien, pero espero que lo entiendas, si quieres te puedo pasar un ejemplo que se vea mejor o algo XD
  #9 (permalink)  
Antiguo 09/03/2011, 12:22
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Mostrar un campo concreto de mysql en una pagina

Muchas gracias por la respuesta:

Pues te lo agradeceria, por que estoy probando y me pierdo.
Gracias de nuevo

Etiquetas: mysql, campos
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 10:52.