Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Gestione avvisi tramite DB
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • I
      il.gege User • ultima modifica di

      Il chè vorrebbe dire che io devo inserire un messaggio tante volte quanti sono gli utenti presenti nel DB..

      Non è una soluzione un pò poco pratica?

      Forse magari con una vista incrociata riuscire a farlo senza dover creare altre tabelle, oltre a quella dei messaggi in se...

      [EDIT]
      Cavolata, perchè nelle viste non posso aggiungere il campo booleano...

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • marcocarrieri
        marcocarrieri ModSenior • ultima modifica di

        Allora forse io sto capendo un altra cosa.
        Tu devi mandare lo stesso messaggio a tutti?
        O messaggi privati a utenti diversi?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • I
          il.gege User • ultima modifica di

          Lo stesso messaggio a tutti (o meglio, nello specifico, messaggi diversi a categorie diverse di utenti, però il concetto è lo stesso...)

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • marcocarrieri
            marcocarrieri ModSenior • ultima modifica di

            Allora una cosa più elaborata ma concettualmente sempre lo stesso.
            Definiamo alcune cose prima che elaboro meglio l'idea.
            Un utente può appartenere a più categorie?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • I
              il.gege User • ultima modifica di

              No, un utente appartiene ad una categoria specifica.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • marcocarrieri
                marcocarrieri ModSenior • ultima modifica di

                Bene infine lo stesso messaggio puo essere inviato a piu categorie?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • I
                  il.gege User • ultima modifica di

                  Esatto..

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • marcocarrieri
                    marcocarrieri ModSenior • ultima modifica di

                    Allora io suddividerei il problema nel modo seguente.

                    Una tabella utenti, e tra gli altri campi un campo idcategoria.
                    Questo serve per identificare attraverso questo id a quale categoria l'utente appartiene.

                    Una tabella categorie con i soliti id, nome categoria e altri eventuali campi.

                    Una tabella messaggi all'interno della quale vanno salvati tutti i messaggi inviati.
                    Tra gli altri campi abbiamo i campi id categoria e id utente per risalire e sapere a che categoria appartiene il messaggio e l'id utente.

                    Quando sei nella categoria "A", e clicchi su invia messaggio, lui deve controllare quanti utenti appartengono a quella categoria, e salvare quindi nella tabella messaggi tanti messaggi tanti quanti sono gli utenti delle medesima.

                    Infine occorre anche un campo "letto" da settare a true quando l'utente clicca sul pulsante letto del messaggio, a questo messaggio bastera passare l'id del messaggio ed il gioco è fatto.

                    Spero possa essere chiaro anche per te, e non solo per me che ho già l'idea in testa.

                    Saluti, Marco.

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • I
                      il.gege User • ultima modifica di

                      E' esattamente un pò la soluzione che avevo in mente io, è anche la soluzione più logica che può venire in mente.

                      Grazie per l'aiuto Marco!

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • marcocarrieri
                        marcocarrieri ModSenior • ultima modifica di

                        Molto bene, l'unione fa la forza. 🙂

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • samyorn
                          samyorn Consiglio Direttivo • ultima modifica di

                          Un'altra strada forse percorribile potrebbe essere quella di creare un solo messaggio, associato ad un id categoria, e poi un campo che raccolga in questo formato gli id degli utenti:
                          -0-1-16-19-58-
                          -0- sarà il primo di default

                          Quando l'utente con id 3, associato alla categoria id 5, si logga, fai eseguire la seguente query:

                          SELECT * FROm tabella WHERE id_categoria='5' AND id_utenti NOT LIKE "%-3-%"
                          

                          Quando l'utente cliccherà sul tasto "letto" aggiornerai il campo degli id utenti che han letto aggiungendo 3- alla fine:
                          $id_utenti=$id_utenti."3-";
                          e quindi aggiorni la tabella.
                          In questa maniera crei un solo record per ogni messaggio. 🙂

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • I
                            il.gege User • ultima modifica di

                            Mmmh si, potrebbe essere un'altra soluzione...

                            Ora vedo quale potrebbe essere la migliore attuabile nel mio caso..

                            Grazie!!

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • samyorn
                              samyorn Consiglio Direttivo • ultima modifica di

                              Di nulla, è corretto anche lo sviluppo fatto con marcocarrieri, ma pensando al poi, immagina di avere 100 utenti e di mandare 100 avvisi l'anno.
                              In un solo anno creerai 10000 record per soli 100 avvisi categorizzati, risparmiare risorse significa anche risparmiare dindini e tempi di esecuzione. 😉
                              Con questa soluzione, se applicabile ovviamente, avresti solo 100 record. 🙂

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • I
                                il.gege User • ultima modifica di

                                Forse l'unico "problema" sarebbe poi la lunghezza del record dove memorizzo gli utenti che hanno letto il massaggio..

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • samyorn
                                  samyorn Consiglio Direttivo • ultima modifica di

                                  Utilizzando un campo TEXT hai 2^16 caratteri disponibili, con LONGTEXT 2^32.

                                  Un test che si potrebbe fare per vedere il risparmio di risorse è creare 1000 record (10 utenti * 100 avvisi) a simulare degli avvisi completi e poi creare 100 record che simulino i singoli avvisi e che nel campo id_utente contengano 10 id (-0-1-2-3-4-5-6-7-8-9-10-), e provare per ognuno dei due metodi quale occupa più spazio. 😉

                                  P.S. ovviamente non dico che sia fattibile, ma è un'idea che mi è venuta leggendo il thread. 😉

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • I
                                    il.gege User • ultima modifica di

                                    No no ma ci credo che risparmio spazio 😄

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • marcocarrieri
                                      marcocarrieri ModSenior • ultima modifica di

                                      E' vero, questa soluzione mi piace di più, d'altronde all'università avevo preso solo 20 sull'esame di ottimizzazione ah ah ah.

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      Caricamento altri post
                                      Rispondi
                                      • Topic risposta
                                      Effettua l'accesso per rispondere
                                      • Da Vecchi a Nuovi
                                      • Da Nuovi a Vecchi
                                      • Più Voti