+ Rispondi alla Discussione
Risultati da 1 a 14 di 14

php selezione annidata da database

Ultimo Messaggio di miticopierpy il:
  1. #1
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78

    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:
    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

  2. #2
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Località
    Messina
    Messaggi
    7,237
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Non puoi fare semplicemente:
    mysql_query("DELETE FROM member WHERE data_registrazione < '".(time()-432000)."' AND stato_Registrazione = '1'", $db);

  3. #3
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78
    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..
    Ultima modifica di miticopierpy; 25-09-08 alle 18:45

  4. #4
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Località
    Messina
    Messaggi
    7,237
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    lanci la query dal phpmyadmin ad esempio...

  5. #5
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78
    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
    Ultima modifica di miticopierpy; 25-09-08 alle 20:17

  6. #6
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Località
    Messina
    Messaggi
    7,237
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    metti la r minuscola... per sbaglio l'ho scritta maiuscola

  7. #7
    User
    Data Registrazione
    Jun 2007
    Messaggi
    448
    Citazione Originariamente Scritto da miticopierpy Visualizza Messaggio
    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"

  8. #8
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78
    Citazione Originariamente Scritto da Thedarkita Visualizza Messaggio
    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

  9. #9
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Località
    Messina
    Messaggi
    7,237
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    incolla tutta la riga 210...

  10. #10
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78
    Eccola qui

    Codice:
    mysql_query("DELETE FROM member WHERE _data < '".(time()-432000)."'" AND stato = '1'", $db);
    Ho modificato i campi del database in _data e stato

  11. #11
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Località
    Messina
    Messaggi
    7,237
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    mysql_query("DELETE FROM member WHERE _data < '".(time()-432000)."' AND stato = '1'", $db);

  12. #12
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78
    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
    Ultima modifica di miticopierpy; 26-09-08 alle 14:05

  13. #13
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78
    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

  14. #14
    User
    Data Registrazione
    Feb 2007
    Località
    Benevento
    Messaggi
    78
    Ho risolto il problema ecco come:

    Ho creato la variabile :
    Codice:
    $d_date = time()-432000;
    E poi ho eseguito il comando:
    Codice:
    mysql_query("DELETE FROM member WHERE stato ='1' and _data < '$d_date'");

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.