• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Ayuda con un foro

    Programado Fijo Cerrado Movido
    Software
    4
    18
    1.2k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • daemonzD
      daemonz
      Última edición por

      Estos dias atras me he currao un foro en php con bases de datos en mysql, esta totalmente operativo y toy mu contento con los resultados teniendo en cuenta ke es la primera vez ke me meto con php.

      El motivo de mi post es para ver si me podriais proporcionar teorias para un sistema ke te diga ke posts nuevos no has leido aun, tal y como hace este vb board (el icono ese amarillo a la izkierda de cada rama).

      A ver ke me proponeis 😛 Saludos y gracias

      1 Respuesta Última respuesta Responder Citar 0
      • P
        pakohuelva
        Última edición por

        Todo muy teorico.

        Opcion 1: con cookies, guardas en la galleta el ultimo post que habia cuando el usuario salio la ultima vez.

        Opcion 2: guardas la misma informacion en la base de datos para cada usuario.

        En cualquier caso cada vez que el usuario entre en los foros claculas que post nuevos hay, tienen mayor indice que el que tiene guardado. Con esto tienes todos los nuevos, despues solo tienes que asociarlos a cada rama, es decir, post nuevos que pertenezcan a esta rama.

        1 Respuesta Última respuesta Responder Citar 0
        • daemonzD
          daemonz
          Última edición por

          Algo asi pense, es una buena idea y en principio facil de hacer, pero ahora necesito saber el momento en el ke debo guardar la informacion en la BD, justo cuando salga? como detecto ese momento?

          1 Respuesta Última respuesta Responder Citar 0
          • P
            pakohuelva
            Última edición por

            Eso mismo es lo que habia pensado yo y no lo tengo muy claro.

            Se supone que hay un evento que se genera al cerrar la ventana, onclose o algo asi, pero no se si te servira para eso.

            Otra opcion seria guardar cada cierto tiempo durante la sesion, pero no es una manera muy eficiente.

            No se, tiene que haber una solucion mas elegante, pero no se me ocurre.

            1 Respuesta Última respuesta Responder Citar 0
            • daemonzD
              daemonz
              Última edición por

              La solucion ke seria ideal es hacer una tabla ke almacenara si el usuario X ha leido el post Y, pero claro, esa tabla se haria enorme cuando hubiera 1000 usuarios y 10000 posts (por decir algo). No es la mejor manera desde luego, a mi tp se me ocurre como hacer esto, pero bueno a ver si alguien lo ha hecho ya.

              Mil gracias pakohuelva

              1 Respuesta Última respuesta Responder Citar 0
              • marcaljM
                marcalj
                Última edición por

                Buenas, a ver si te sirve.

                Al mismo tiempo k el usuario abre el post guardas a la db/cookie k ya la ha visto.

                Salu2!

                1 Respuesta Última respuesta Responder Citar 0
                • daemonzD
                  daemonz
                  Última edición por

                  Si, pero como ya dije antes eso a la larga supondria ke la BD se hiciera ENORME, y eso de guardar una cookie por post… no se debe haber un metodo mas sencillo ke aun no se nos ha ocurrido... seguire pensando

                  Por cierto, si os interesa ver como me ha kedado el foro y el resto de la web: www.full-wow.com

                  1 Respuesta Última respuesta Responder Citar 0
                  • P
                    pakohuelva
                    Última edición por

                    marcalj tiene razon, lo que tienes que haces que cada vez que abra un post guarde el numero de este en la cookie de forma que todos los anteriores queden marcados como leidos para la proxima sesion, el problema sera que los post mas recientes a este que el usuario no haya visto apareceran como no leidos en la proxima, pero esto puede ser hasta bueno.

                    1 Respuesta Última respuesta Responder Citar 0
                    • marcaljM
                      marcalj
                      Última edición por

                      Una pregunta….en el supuesto caso k lo kisieras guardar en la db, toda esta info.... De que manera lo harias? es que cada forma k lo veo no es k digamos...optimo, ni facil de planificar...

                      Como lo harias?

                      I en la cookie, como funciona? de la misma forma k lo guardas, cuando mas tarde el usuario vuelva a entrar se tendra k leer la cookie para k marke los posts leidos como tal, no?

                      Salu2!

                      1 Respuesta Última respuesta Responder Citar 0
                      • P
                        pakohuelva
                        Última edición por

                        Para guardarlo en la bd tendrias que añadir un nuevo campo a lal tabla donde se guardan los usuarios en el que indicarias el ultimo post leido.

                        La cookie la guardas en el PC del cliente con la informacion que quieras (codificada) y en cuanto carga la pagina lees la informacion contenida en la cookie.

                        Lo de la bd no es buena idea porque aumentaria la cantidad de datos y el flujo de informacion por la misma, imagina cuando haya 100 usuarios conectados al mismo tiempo y con cada peticion se actualice esa informacion. Como la cookie la tienes que leer de todas formas para identificar al usuario cuando entra no te supone ningun esfuerzo leer ademas esa info.

                        1 Respuesta Última respuesta Responder Citar 0
                        • daemonzD
                          daemonz
                          Última edición por

                          Esa idea es buena, guardar en la cookie la ID del ultimo post leido, de tal forma ke todos los ke tengan una ID mayor aparezcan como no leidos.

                          Mejor trabajar con esa sencilla cookie en vez de con bases de datos. Aunke supone poca carga mejor hacerlo asi.

                          Voy a probar, luego os comento. Mil gracias a ambos :sisi:

                          PD: ke os parece la web? 😛

                          ACTUALIZADO: Vale, ya funciona el sistema, en vez de con IDs lo he hecho con fechas, claro ke tiene el problema ke decias packosoft, marca como leidos los posts mas recientes al ke hemos leido la ultima vez, pero bueno, tiene su logica. Ya lo arreglare mas adelante, de momento con esto sobra 😛

                          1 Respuesta Última respuesta Responder Citar 0
                          • marcaljM
                            marcalj
                            Última edición por

                            Ok….bueno, mas o menos lo he entendido....

                            La web esta bien i el foro tambien, pero en Linux (mozilla) no se me ve nada bien...el texto se me sobrepone en multiples sitios.

                            Salu2!

                            1 Respuesta Última respuesta Responder Citar 0
                            • KrHonHoSK
                              KrHonHoS
                              Última edición por

                              Bueno, yo soy mas retorcido q estos 2 y te voy a proponer el sistema ideal. Primero una tabla con 3 campos y 2 claves. Un campo fecha, un ide_usuario (clave) y un id_rama (clave). Bien, cada vez q un usuario entre en una rama tu apuntaras q ese usuario a esa hora entro en esa rama. Luego para saber cuales son recientes solo tienes q hacer una consulta a la BD pidiendo de esa rama si hay algun post posterior a la fecha en la q entro. Me parece q es bastante sencillo. Para q la tabla no se haga inmensa, cuando entre en esa rama modificas la tabla para q tenga la nueva fecha. Me parece q no es tan complicao.

                              Por lo demas, mu wapo el foro y mu buen qrro.

                              SalU2

                              KrHonHoS

                              1 Respuesta Última respuesta Responder Citar 0
                              • P
                                pakohuelva
                                Última edición por

                                Lo que nos daria, si lo he entendido bien, teniendo 1000 usuarios y 1000 ramas una cantidad de informacion y de accesos que haria que para usuario que entrase una rama hubiera que acceder a 3 campos de una tabla al margen de la informacion de dicha rama. Es decir, si entran esos 1000 usuarios, 3000 accesos por rama.

                                Mucho ancho de banda y acceso a la bd, perdida de velocidad y eficacia.

                                1 Respuesta Última respuesta Responder Citar 0
                                • KrHonHoSK
                                  KrHonHoS
                                  Última edición por

                                  No es por nada, pero 1000 usuarios a la vez no creo q accedan nunca, sobre todo 1000 usuarios registrados, puesto que los anonimos no tienen esta opcion. No es por menospreciar la pagina, pero esas visitas no las tiene ni terra. Este foro esta echo asi y el phpbb tmb. Y puede pensar q es mucha info la q mueve, pero ya te digo yo q va a sufrir mas al listar 25 mensages por pagina o todos los mensages en la principal al no haber seleccion de los ultimos x dias q haciendo eso.

                                  Ademas, la perdida de ancho de banda la generan los usuarios, no las consultas. Y estando en un servidor, esas consultas las haces hasta con un duron a 1ghz.

                                  1 Respuesta Última respuesta Responder Citar 0
                                  • daemonzD
                                    daemonz
                                    Última edición por

                                    Heh esas consultas las haces hasta con un p166 xD

                                    Vale, mas tarde probare lo ke me has dicho KrHonHoS, mil gracias a ti tb 🙂

                                    1 Respuesta Última respuesta Responder Citar 0
                                    • P
                                      pakohuelva
                                      Última edición por

                                      Pues si es asi como funciona estupendo, ya me has sacado de duda.

                                      De todas formas el phpbb no tiene lo de ir al priemero no leido de cara rama, ¿o si?.

                                      1 Respuesta Última respuesta Responder Citar 0
                                      • KrHonHoSK
                                        KrHonHoS
                                        Última edición por

                                        Me suena q tiene la funcion, pero no esta implementado. Digo me suena pq le e echao un ojo por encima. Ahora mismo lo estoy revisando a fondo pq me da un error mu cabron en la page y no se pq. Ya te comentare.

                                        1 Respuesta Última respuesta Responder Citar 0
                                        • 1 / 1
                                        • First post
                                          Last post

                                        Foreros conectados [Conectados hoy]

                                        2 usuarios activos (0 miembros e 2 invitados).
                                        febesin, pAtO,

                                        Estadísticas de Hardlimit

                                        Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                        Somos un total de 34.8k miembros registrados.
                                        danywhite001 ha sido nuestro último fichaje.