Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    estrarre un numero da db, incr.. e salvarlo

    salve a tutti e felice anno nuovo ( , è il mio primo messaggio nel 2005 )...
    ok, nn orridite davanti a queste righe, il mio intento è semplicemente estrarre un numero da mysql incrementarlo e salvarlo.
    Vi riporto solo la parte incriminata, ossia le 2 query:
    codice:
    include("config1.inc.php");
    $sql2 = "SELECT accesso FROM utenti_sito_2004 ORDER BY id DESC LIMIT 1";
    $query2 = mysql_query ($sql2, $connessione) or die (errore());
    $accesso = mysql_fetch_array($query2);
    $accesso2 = $accesso++;
    
    $sql = "INSERT INTO utenti_sito_2004 (accesso, data, ip, host, pc) VALUES ('$accesso2', '$date', '$ip', '$host', '$pc')";
    $query = mysql_query ($sql, $connessione) or die (errore());
    mysql_close ($connessione) or die (errore());
    ?>
    grazie mille PHPPISTI

  2. #2
    Ma devi inserire un record nuovo o sovrascrivere il precedente?

  3. #3
    [supersaibal]Originariamente inviato da bubu77
    Ma devi inserire un record nuovo o sovrascrivere il precedente? [/supersaibal]
    scrivere un nuovo record...

    grazie

  4. #4
    scusa ma se non erro $accesso è un array... come fai ad incrementarlo in quel modo :master:

    qual'è il campo che devi incrementare?
    aquatimer2000

  5. #5
    [supersaibal]Originariamente inviato da aquatimer2000
    scusa ma se non erro $accesso è un array... come fai ad incrementarlo in quel modo :master:

    qual'è il campo che devi incrementare? [/supersaibal]
    ...è un semplice contatore di accessi.
    La variabile $accesso contiene il numero dell'ultimo visitatore memorizzato in un campo numerico di una tabella del db.
    Vorrei semplicemente estrarre questo numero, incrementarlo e salvarlo in un nuovo record insieme ai vari dati dell'utente.
    La tabella è così composta:
    - id: int(11)
    - accesso: int(11)
    - data: varchar(50)
    - ip: varchar(50)
    - host: varchar(200)
    - pc: varchar(200)

    Questo il codice completo:
    codice:
    <?php
    
    header("Expires: ".gmdate("l, d F Y H:i:s")."GMT");
    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");
    
      $date = date( "l, d F Y H:i:s");
      $ip = getenv("REMOTE_ADDR"); //IP
      $host = gethostbyaddr($ip); //Host of IP
      $pc = getenv("HTTP_USER_AGENT"); //Other stuff about visitors 
       //find specific browser
       if(strstr($comp, "MSIE 7")) $browser = 'IE 7';
       else if(strstr($comp, "MSIE 6")) $browser = 'IE 6';
       else if(strstr($comp, "MSIE 5")) $browser = 'IE 5';
       else if(strstr($comp, "MSIE 4")) $browser = 'IE 4';
       else if(strstr($comp, "MSIE 3")) $browser = 'IE 3';
       else if(strstr($comp, "Netscape 7")) $browser = 'Netscape 7';
       else if(strstr($comp, "Netscape 6")) $browser = 'Netscape 6';
       else if(strstr($comp, "Netscape 5")) $browser = 'Netscape 5';
       else if(strstr($comp, "Netscape 4")) $browser = 'Netscape 4';
       else if(strstr($comp, "Netscape 3")) $browser = 'Netscape 3';
       else if(strstr($comp, "Opera")) $browser = 'Opera';
       else $browser = 'Other';
       
       //Find user's OS
       if(strstr($comp, "Windows 95")) $OS= 'Windows 95';
       else if(strstr($comp, "Windows 98")) $OS = 'Windows 98';
       else if(strstr($comp, "Windows 2000")) $OS = 'Windows 2000';
       else if(strstr($comp, "Windows XP")) $OS = 'Windows XP';
       else if(strstr($comp, "Windows ME")) $OS = 'Windows ME';
       else if(strstr($comp, "Windows NT")) $OS = 'Windows NT';
       else if(strstr($comp, "Mac")) $OS = 'Macintosh';
       else if(strstr($comp, "Linux")) $OS = 'Linux';
       else if(strstr($comp, "Unix")) $OS = 'Unix';
       else $OS = 'Other';
       
    include("config1.inc.php");
    $sql2 = "SELECT accesso FROM utenti_sito_2004 ORDER BY id DESC LIMIT 1";
    $query2 = mysql_query ($sql2, $connessione) or die (errore());
    $accesso = mysql_fetch_array($query2);
    $accesso2 = $accesso++;
    $sql = "INSERT INTO utenti_sito_2004 (accesso, data, ip, host, pc)
    VALUES ('$accesso2', '$date', '$ip', '$host', '$pc')";
    $query = mysql_query ($sql, $connessione) or die (errore());
    mysql_close ($connessione) or die (errore());
    ?>
    spero in un vostro aiutino
    grassie

  6. #6
    ...ho capito l'errore ....
    nn estrapolavo dall'array il numero $accesso = $num["accesso"];
    perpoi incrementarlo....

    codice corretto:
    codice:
    include("config1.inc.php");
    $sql2 = "SELECT accesso FROM utenti_sito_2004 ORDER BY id DESC LIMIT 1";
    $query2 = mysql_query ($sql2, $connessione) or die (errore());
    $num = mysql_fetch_array($query2);
    $accesso = $num["accesso"];
    $accesso2 = $accesso+1;
    $sql = mysql_query("INSERT INTO utenti_sito_2004 (accesso, data, ip, host, pc)
    VALUES ('$accesso2', '$date', '$ip', '$host', '$pc')");
    //$query = mysql_query ($sql, $connessione) or die (errore());
    echo "acc1=$accesso 
     acc2=$accesso2";
    mysql_close ($connessione) or die (errore());
    ciao e buona giornata

  7. #7
    ma se non devi inserire un nuovo campo nel db perchè usi insert?

    La clausola per aggiornare è

    $query="UPDATE counter SET counter =".$count;

    nel caso hai anche il vecchio valore :

    $query="UPDATE counter SET counter = ".$count." WHERE counter =".$oldcount;



    Sperando di Esserti Utile
    Ciao by Wesman
    " Il web è il nostro futuro, perchè non esiste nulla di più libero ".

  8. #8
    [supersaibal]Originariamente inviato da Wesman
    ma se non devi inserire un nuovo campo nel db perchè usi insert?

    La clausola per aggiornare è

    $query="UPDATE counter SET counter =".$count;

    nel caso hai anche il vecchio valore :

    $query="UPDATE counter SET counter = ".$count." WHERE counter =".$oldcount;[/supersaibal]
    nn devo aggiornare, devo creare una nuova riga con i nuovi parametri del visitatore + il numero dell'ultimo accesso incrementato di uno. Mi sembra di capire che lo script che mi suggerisci sovrascrive il vecchio numero di accesso col nuovo... o sto capendo male? :master:

    Sperando di Esserti Utile
    ogni consiglio e suggerimento è sempre utile...
    grazie per la disponibilità

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.