• Portada
    • Recent
    • Users
    • Register
    • Login

    Ayuda con un foro

    Scheduled Pinned Locked Moved Software
    18 Posts 4 Posters 1.6k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • daemonzD Offline
      daemonz
      last edited by

      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 Reply Last reply Reply Quote 0
      • P Offline
        pakohuelva
        last edited by

        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 Reply Last reply Reply Quote 0
        • daemonzD Offline
          daemonz
          last edited by

          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 Reply Last reply Reply Quote 0
          • P Offline
            pakohuelva
            last edited by

            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 Reply Last reply Reply Quote 0
            • daemonzD Offline
              daemonz
              last edited by

              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 Reply Last reply Reply Quote 0
              • marcaljM Offline
                marcalj
                last edited by

                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 Reply Last reply Reply Quote 0
                • daemonzD Offline
                  daemonz
                  last edited by

                  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 Reply Last reply Reply Quote 0
                  • P Offline
                    pakohuelva
                    last edited by

                    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 Reply Last reply Reply Quote 0
                    • marcaljM Offline
                      marcalj
                      last edited by

                      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 Reply Last reply Reply Quote 0
                      • P Offline
                        pakohuelva
                        last edited by

                        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 Reply Last reply Reply Quote 0
                        • daemonzD Offline
                          daemonz
                          last edited by

                          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 Reply Last reply Reply Quote 0
                          • marcaljM Offline
                            marcalj
                            last edited by

                            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 Reply Last reply Reply Quote 0
                            • KrHonHoSK Offline
                              KrHonHoS
                              last edited by

                              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 Reply Last reply Reply Quote 0
                              • P Offline
                                pakohuelva
                                last edited by

                                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 Reply Last reply Reply Quote 0
                                • KrHonHoSK Offline
                                  KrHonHoS
                                  last edited by

                                  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 Reply Last reply Reply Quote 0
                                  • daemonzD Offline
                                    daemonz
                                    last edited by

                                    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 Reply Last reply Reply Quote 0
                                    • P Offline
                                      pakohuelva
                                      last edited by

                                      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 Reply Last reply Reply Quote 0
                                      • KrHonHoSK Offline
                                        KrHonHoS
                                        last edited by

                                        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 Reply Last reply Reply Quote 0

                                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                        With your input, this post could be even better 💗

                                        Register Login
                                        • 1 / 1
                                        • First post
                                          Last post

                                        Foreros conectados [Conectados hoy]

                                        0 usuarios activos (0 miembros y 0 invitados).
                                        febesin, pAtO, tahliapelsaert, maritzachiodo1, smith, sherrillmarble

                                        Estadísticas de Hardlimit

                                        Los hardlimitianos han creado un total de 543.7k posts en 62.9k hilos.
                                        Somos un total de 35.6k miembros registrados.
                                        daniellab08392 ha sido nuestro último fichaje.
                                        El récord de usuarios en linea fue de 123 y se produjo el Thu Jan 15 2026.