Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Query da php a SQL.

  1. #1

    Query da php a SQL.

    Ciao.
    Sto facendo una classetta who online
    è tutto ad un tratto mi è venuto in mente
    di complicarmi un po la vita dunque ho questa
    table:
    Codice PHP:
    CREATE TABLE `_usersonline` (
    `
    timeINT11 ) DEFAULT '0' NOT NULL ,
    `
    remote_ipVARCHAR40 CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT '0' NOT NULL ,
    `
    fileVARCHAR100 CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT '0' NOT NULL ,
    INDEX ( `time` , `remote_ip` , `file` )
    ); 
    e queste righe di php (tralascio mysql_query)
    Codice PHP:
    $currentTime time();
    $ip $_SERVER['REMOTE_ADDR'];
    $file $_SERVER['PHP_SELF'];
    $timeout $currentTime 120;
    $query "DELETE FROM _usersonline WHERE time < $timeout";
    $query "INSERT INTO _usersonline (time,remote_ip,file) VALUES ('".$currentTime."','".$ip."','".$file."')"
    Vorrei fare la stessa cosa via sql quindi
    ho la nuova table:
    Codice PHP:
    CREATE TABLE `_usersonline` (
    `
    timeTIME DEFAULT '0' NOT NULL ,
    `
    remote_ipVARCHAR40 CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT '0' NOT NULL ,
    `
    fileVARCHAR100 CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT '0' NOT NULL ,
    INDEX ( `time` , `remote_ip` , `file` )
    ); 
    e ralativo code:
    Codice PHP:
    $ip $_SERVER['REMOTE_ADDR'];
    $file $_SERVER['PHP_SELF'];
    $query "DELETE FROM _prova WHERE time < NOW()-120";
    $query "INSERT INTO _prova (time,remote_ip,file) VALUES (NOW(),'".$ip."','".$file."')"
    Le cose che mi interesserebbe sapere sono due:
    Via sql lo script è + veloce e sopratutto
    NOW() - 120 è corretto ?
    Sto cercando un buon tutorial con la gestione
    dei tipi date e time in sql differenze addizioni
    intervalli etc .......


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2
    primo quesito confesso di aver capito nulla.

    per il secondo: NOW() - xxx e' una sintassi errata che potrebbe anche dare risultati ma fantasiosi

    NOW() - INTERVAL 120 second (o day, month quel che l'e')

    ci sono articoli e pillole al riguardo. Senza scordare il manuale

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

    .............

    Ciao.
    Ti ringrazio molto per la risposta.
    primo quesito confesso di aver capito nulla.
    Praticamente volevo cambiare la gestione di
    $timeout.
    Nel primo caso per sapere se ci sono rows scadute
    uso php nel secondo delego la cosa al codice sql o
    perlomeno tento avevo il sentore che avevo
    fatto una c.......... avevo pensato ad INTERVAL
    ma insomma le idee sono confuse ..........
    Un linkuccio diretto alla questione lo so
    che la ricerca è alla base della conoscenza
    ma insomma se mi fai la cortesia
    Stammi bene.
    PS
    Codice a parte un'approccio del genere
    è + veloce ?
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4

  5. #5

    ........

    Troooppppppppo cortese
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6

    Re: .............

    Originariamente inviato da whisher
    Codice a parte un'approccio del genere
    è + veloce ?
    se il codice lo digerisce il server mysql evita di digerirlo il server http ....

    qualcuno lo deve metabolizzare.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.