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. php selezione annidata da database
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      miticopierpy User • ultima modifica di

      php selezione annidata da database

      Salve a tutti.
      Vengo subito al problema:
      Dovrei creare un codice in php in grado di selezionare da un database tutti i campi con un determinato valore e di questi eliminare solo quelli con un altro determinato valore. Un po contorto come ragionamento ma dovrebbe filare 🙂
      Comunque mi spiego meglio.
      Ho un database avente i seguenti campi: ip, nome, user, password, data_registrazione, stato_registrazione ecc..

      Il codice che mi serve dovrebbe effettuare su di esso le seguenti operazioni:

      1. Selezionare tutti i campi il cui "stato_registrazione" corrisponda al valore 1
      2. una volta selezionati questi campi, eliminare tutti quelli la cui registrazione ("data_registrazion") è avvenuta da almeno 5 giorni.

      Il secondo punto l'ho risolto con questo codice:

      mysql_query("DELETE FROM member WHERE data_registrazione < '".(time()-432000)."'", $db);
      

      ma il problema è: come subordinarlo al primo?. Cioè come far si che vengano eliminati dalla tabella tutti i campi dell'utente che è registrato da più di 5 giorni, il cui stato di registrazione è uguale ad 1?
      Come fare??

      Grazie a tutti in anticipo

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        thedarkita ModSenior • ultima modifica di

        Non puoi fare semplicemente:
        mysql_query("DELETE FROM member WHERE data_registrazione < '".(time()-432000)."' AND stato_Registrazione = '1'", $db);

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • M
          miticopierpy User • ultima modifica di

          Grazie per la risposta, ma non credo di aver capito bene che vuoi dire..:?
          Quello che hai scritto tu dovrebbe funzionare quindi?

          Un altro mio interrogativo era il seguente:
          Se inserisco questo codice all'interno di una pagina php, esso verrà eseguito solo quando tale pagina sarà aperta.
          Come faccio a far si che il database esegua comunque l'operazione, senza che sia necessario aprire la pagina? Esiste un modo?
          Spero sia chiaro quello che chiedo.. 🙂

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            lanci la query dal phpmyadmin ad esempio...

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • M
              miticopierpy User • ultima modifica di

              Qualcosa in automatico non esiste?
              Comunque il codice che mi hai dato mi da un errore di sintassi per quanto riguarda il simbolo "=" . Non capisco perchè.
              Ho provato a sostituirlo con == e mi da un'altro errore di sintassi riguardante il simbolo: "'".
              Domani vedo meglio e ti posto l'errore

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                thedarkita ModSenior • ultima modifica di

                metti la r minuscola... per sbaglio l'ho scritta maiuscola

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • S
                  skyline User Attivo • ultima modifica di

                  @miticopierpy said:

                  Qualcosa in automatico non esiste?
                  Comunque il codice che mi hai dato mi da un errore di sintassi per quanto riguarda il simbolo "=" . Non capisco perchè.
                  Ho provato a sostituirlo con == e mi da un'altro errore di sintassi riguardante il simbolo: "'".
                  Domani vedo meglio e ti posto l'errore
                  Cron, documentati su quello 🙂 nei link utili c'è anche un link per "cron fatto in casa"

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • M
                    miticopierpy User • ultima modifica di

                    @Thedarkita said:

                    metti la r minuscola... per sbaglio l'ho scritta maiuscola

                    Mi spiace ma neanche in minuscolo va. L'errore è questo:

                    Parse error: syntax error, unexpected '=' in /miosoto/pagina.php on line 210
                    Sostituendo invece '=' con '==' mi da quest'altro errore:

                    Parse error: syntax error, unexpected '"' in /miosoto/pagina.php on line 210
                    E' chiaro che sia un errore di sintassi, ma come risolverlo?

                    P.S grazie per il consiglio skyline ora mi informo 🙂

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      incolla tutta la riga 210...

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • M
                        miticopierpy User • ultima modifica di

                        Eccola qui

                        mysql_query("DELETE FROM member WHERE _data < '".(time()-432000)."'" AND stato = '1'", $db);
                        

                        Ho modificato i campi del database in _data e stato

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • T
                          thedarkita ModSenior • ultima modifica di

                          mysql_query("DELETE FROM member WHERE _data < '".(time()-432000)."' AND stato = '1'", $db);

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • M
                            miticopierpy User • ultima modifica di

                            Bene non mi da più errori di sintassi, ma c'è comunque qualcosa che non va. Non mi cancella i dati dal database.
                            Ora faccio altre prove e faccio sapere se trovo quale è il problema.
                            Grazie comunque

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • M
                              miticopierpy User • ultima modifica di

                              Niente... non va 😢
                              Ho provato anche ad attribuire al comando WHERE solo _data o solo stato, ma niente. I campi sono sempre nel database.
                              Qualcuno sa perchè?
                              Aiutooo la cosa si sta facendo più complicata del previso 😞

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • M
                                miticopierpy User • ultima modifica di

                                Ho risolto il problema 🙂 ecco come:

                                Ho creato la variabile :

                                $d_date = time()-432000;
                                
                                

                                E poi ho eseguito il comando:

                                mysql_query("DELETE FROM member WHERE stato ='1' and _data < '$d_date'");
                                
                                
                                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