PHP - Ayuda de los EXPERTOS

 
Vista:

Ayuda de los EXPERTOS

Publicado por Juan (5 intervenciones) el 08/01/2006 04:18:57
Hola amigos necesito preguntar dos dudas que tengo...

1.- Tengo mi pagina php con mysql...tengo una tabla que tiene como uno de sus campos como LONGTEXT, en este campo el usuario hace comentarios con respecto a un cliente X.....pero ademas puede existir que otro usuario pueda hacer un comentario sobre el mismo cliente X, para lo cual lo que hago es guardar los comentarios en forma concatenada en el mismo campo...mi problema es que al mostrar los comentarios que se hicieron hasta el momneto del cliente X, me los muestra sin saltos de linea, es decir me muestra todo como un gran texto sin que se pueda diferenciar claramente un comentario de otro. La idea de hacerlo asi es que cada vez que cualquier usuario necesite hacer un comentario del cliente X vea los comentarios anteriores(historico)....se entiende???...la otra opcion que se me ocurre es poco eficiente y es agregar un campo por cada comentario pero que pasa si se ingresan 100 comentarios???...trate de insertar saltos de linea antes de grabar en la base de datos y no funciona...como dato el elemento donde desplego los comentarios es un campo de texto.

2.- Esta duda me da la impresion que es mas simple.....mira tengo un listado de clientes por usuario...como hago para imprimir ese listado sin utilizar la opcion imprimir del browser????....ademas actualmente si lo hago por el browser me imprime los frames o si selecciono lo que deseo imprimir me quedan fuera algunos campos ...es decir debe existri algo asi como crear un reporte o un version imprimible de las tablas...

Gracias de antemano y Atento a los comentario.

Atila
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda de los EXPERTOS

Publicado por Serra Labán, Eloy Alejandro L. (5 intervenciones) el 13/01/2006 22:21:10
Hola: Si te entendí bien tenés las siguientes soluciones.
1) Agrega un <BR/> entre comentarios.
2) Mucho mejor: Hacé una tabla con comentarios, por ejemplo que tenga estos datos: id, cliente, usuario, comentario, fecha. Entonces cuando tenés que ver los comentarios hacés SELECT * FROM comentarios WHERE cliente==$cliente y listo. Incluso así podés mostrar los comentarios parcialmente (por ejemplo de a 10 comentarios y un link Ver siguientes, Ver anteriores, etc.).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda de los EXPERTOS

Publicado por ismael (1 intervención) el 14/01/2006 00:06:53
Hola.
En el primer problema claramente lo que tienes es un mal modelo de datos. Lo que debieras hacer es una tabla para los comentarios, otra para los clientes y otra para los usuarios. Cada tabla tiene un campo ID que es index autonumérico. La tabla comentarios tiene campos cliente_id y usuario_id, que referencian al cliente aludido y al usuario que hizo el comentario, respectívamente. Luego, con una consulta SQl puedes retornar todos los comentarios para cliente X, junto con los usuarios que los hicieron, así:

SELECT usuarios.*, comentarios.* FROM usuarios, comentarios
WHERE comentarios.cliente_id = [aquí va la id del cliente]
AND usuarios.id = comentarios.usuario_id

Tambien puedes retornar todos los comentarios hechos por el usuario X, así:

SELECT * FROM comentarios
WHERE usuario_id = [aquí va la id del usuario]

O todos los clientes donde ha comentado el usuario X, así:

SELECT clientes.* FROM clientes, comentarios
WHERE comentarios.usuario_id = [aquí va la id del usuario]
AND clientes.id = comentarios.cliente_id

Etc. Este modelo es mucho más flexible.

Eso. Despues loopeas los resultados en PHP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar