Visualizzazione risultati 1 fino 17 di 17

Discussione: 2 query in sequenza

  1. #1
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito 2 query in sequenza

    Salve a Tutti

    esiste un modo per eseguire una query dove ne è stata eseguita precedentemente un'altra?

    cioè....io ho una query....(
    Codice PHP:
    $query1="INSERT INTO chat (ID, LOGIN)
    VALUES ('"
    .$utente."','".date("H:i ", time())."');";
    avrei bisogno di un sistema che mi permetta di eseguire una stessa query nella riga appena creata dalla precedente...
    come posso fare?

  2. #2
    Guest

    Predefinito

    Basta che tu ponga la condizione WHERE ID='".$utente."' and LOGIN='".date("H:i ", time())."');."'

  3. #3
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da altutto Visualizza messaggio
    Basta che tu ponga la condizione WHERE ID='".$utente."' and LOGIN='".date("H:i ", time())."');."'
    scusa la mia ignoranza ma così facendo nella colonna LOGIN non verra eseguita una ricerca dell'ora corrente e non dell'ora precedente?

  4. #4
    Guest

    Predefinito

    Sì, ma se devi eseguire la seconda query subito dopo la prima, l'ora sarà la stessa (a meno che, in quel millesimo-anche meno- di secondo che c'è tra le due query l'ora cambi...) :)

  5. #5
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    no...mi sono espresso male...la seconda può essere eseguita anche a distanza di ore...
    praticamente è la registrazione dell'ora di login e di logout da una determinata sezione del mio sito....sono addirittura su pagine differenti....

  6. #6
    Guest

    Predefinito

    Ah, ok, scusami, avevo capito male.
    Ma $utente deve essere uguale nelle due query?

  7. #7
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da altutto Visualizza messaggio
    Ah, ok, scusami, avevo capito male.
    Ma $utente deve essere uguale nelle due query?
    si...io ho la prima query che mi inserisce la riga con id e l'ora di login
    la seconda che viene eseguita solo al momento del log-out che va a modificare la precedente....

    il fatto è che se io metto nel WHERE.... id=$id lui mi modifica anche l'ora di logout delle sessioni precedenti...questo non deve accadere....infatti per quello avevo in mente di eseguire la query WHERE id=$id && login=...

  8. #8
    Guest

    Predefinito

    Allora puoi fare così: aggiungi una colonna alla tabella "chat", chiamala "id_log" (o con il nome che preferisci) e settala come auto_increment.
    Nella seconda query basterà porre la condizione WHERE ID='".$utente."' ORDER BY id_log DESC LIMIT 1

  9. #9
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da altutto Visualizza messaggio
    Allora puoi fare così: aggiungi una colonna alla tabella "chat", chiamala "id_log" (o con il nome che preferisci) e settala come auto_increment.
    Nella seconda query basterà porre la condizione WHERE ID='".$utente."' ORDER BY id_log DESC LIMIT 1
    grazie mille

  10. #10
    Guest

    Predefinito

    Di nulla :)

  11. #11
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da altutto Visualizza messaggio
    Di nulla :)
    ciao scusa se ti rompo ancora le scatole...sto provando a fare come mia hai suggerito ma mi è sorto un problema...
    non mi fa aggiungere la colonna...

    quando vado ad aggiungere la colonna la setto così:
    CAMPO: id_log
    TIPO: varchar
    SET: 500
    COLLACTIONS:
    ATRIBUTI:
    NULL: not null
    PREDEFINITO:
    EXTRA: auto_increment

    è giusto?

    perchè mi genera questo errore:

    Errore
    query SQL:
    ALTER TABLE `history_accessi` ADD `id_log` VARCHAR( 500 ) NOT NULL AUTO_INCREMENT
    Messaggio di MySQL: Documentazione
    #1063 - Incorrect column specifier for column 'id_log'

  12. #12
    Guest

    Predefinito

    Come "tipo" devi mettere mediumint, e come SET direi che ti basta 10 :)

  13. #13
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da altutto Visualizza messaggio
    Come "tipo" devi mettere mediumint, e come SET direi che ti basta 10 :)
    adesso mi da questo secondo errore -.-
    Incorrect table definition; there can be only one auto column and it must be defined as a key

    sto lavorando da db non da pagine esterne

  14. #14
    Guest

    Predefinito

    Scusami, è colpa di una mia dimenticanza: devi selezionare anche l'opzione con l'icona a forma di chiave ()

  15. #15
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da altutto Visualizza messaggio
    Scusami, è colpa di una mia dimenticanza: devi selezionare anche l'opzione con l'icona a forma di chiave ()
    grazie adesso funziona :D

  16. #16
    Guest

    Predefinito

    Di nulla :)

  17. #17
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    ...o più semplicemente: mysql_insert_id()

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •