Pagina 4 di 4 PrimoPrimo ... 234
Visualizzazione risultati 91 fino 101 di 101

Discussione: [PHP/MySQL] Script Statistiche

  1. #91
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Una soluzione Alternativa e (credo) più rapida non sarebbe modificare il file che scrive in questo modo:

    Scrive user_agent, ecc nella tabella statistiche senza blocco e in un'altra tabella le visite uniche...cosi non credo che le pagine visitate vadano in conflitto con le visite uniche.
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #92
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito [PHP/MySQL] Unire due mysql_query()

    Salve,
    inizialmente ero un po' indeciso se aprire un nuovo topic o continuare quello vecchio ma poi via privato ho chiesto e mi è stato consigliato di aprire uno nuovo cosi al massimo si poteva unire a quello vecchio....

    E' da quando ho lasciato l'ultimo post di questa discussione che ho cercato di unire due file che inseriscono dati in MySQL ma non ho avuto esito positivo: o funzionava uno script o l'altro...dato che io non mi sono voluto arrendere ho provato un po' di tutto ma il risultato è sempre nullo...

    Questi sono i codici che voglio unire:
    Codice PHP:
    <?php
    $connessione
    = mysql_connect("localhost","miki92","") or die(mysql_error());
    $basedati = mysql_select_db("my_miki92") or die(mysql_error());

    if (!isset(
    $_GET['noStat'])) {
    $risultato = mysql_query("SELECT * FROM statistiche WHERE indirizzo_ip='".mysql_escape_string($_SERVER['REMOTE_ADDR'])."' AND date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')");
    if (
    mysql_num_rows($risultato)== 0) {
    $sql = "INSERT INTO statistiche (pagina,data_ora,user_agent,language,indirizzo_ip,provenienza) values(\"".$_SERVER['SCRIPT_NAME']."\",now(),\"".$_SERVER['HTTP_USER_AGENT']."\",\"".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$_SERVER['HTTP_REFERER']."\")";
    mysql_query($sql) or die(mysql_error());
    }
    }
    ?>
    Codice PHP:
    <?php
    $dbHost
    = "localhost" ;
    $dbName = "my_miki92" ;
    $dbUser = "miki92" ;
    $dbCode = "" ;

    $strSql="SELECT statisticaId FROM conta_pagine WHERE statisticaPagina = '" . $PHP_SELF . "'";

    $db=mysql_connect($dbHost,$dbUser,$dbCode) or die("a");
    $result=mysql_db_query($dbName,$strSql,$db);
    $intTrovato = mysql_num_rows( $result );
    unset(
    $result );

    if(
    $intTrovato == 0 )
    {
    $strSql = "INSERT INTO conta_pagine(statisticaPagina, statisticaVolte ) VALUES('" . $PHP_SELF . "' , 1 )";
    }
    else
    {
    $strSql="SELECT statisticaVolte FROM conta_pagine WHERE statisticaPagina = '" . $PHP_SELF . "'";
    $result=mysql_db_query($dbName,$strSql,$db);
    while(
    $row=mysql_fetch_array($result))
    {
    $dblVolte = $row["statisticaVolte"] + 1 ;
    }
    unset(
    $result);
    $strSql = "UPDATE conta_pagine SET statisticaVolte = " . $dblVolte . " WHERE statisticaPagina = '" . $PHP_SELF . "'";
    }

    mysql_db_query($dbName,$strSql,$db);

    mysql_close();

    ?>
    L'ultima prova che ho fatto è questa:
    Codice PHP:
    <?php
    $connessione
    = mysql_connect("localhost","miki92","") or die(mysql_error());
    $basedati = mysql_select_db("my_miki92") or die(mysql_error());

    if (!isset(
    $_GET['noStat'])) {
    $risultato = mysql_query("SELECT * FROM statistiche WHERE indirizzo_ip='".mysql_escape_string($_SERVER['REMOTE_ADDR'])."' AND date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')");
    if (
    mysql_num_rows($risultato)== 0) {
    $sql = "INSERT INTO statistiche (pagina,data_ora,user_agent,language,indirizzo_ip,provenienza) values(\"".$_SERVER['SCRIPT_NAME']."\",now(),\"".$_SERVER['HTTP_USER_AGENT']."\",\"".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$_SERVER['HTTP_REFERER']."\")";
    mysql_query($sql) or die(mysql_error());
    }
    }
    mysql_close();

    $strSql="SELECT statisticaId FROM conta_pagine WHERE statisticaPagina = '" . $PHP_SELF . "'";

    $result=mysql_db_query(my_miki92,$strSql,$connessione);
    $intTrovato = mysql_num_rows( $result );
    unset(
    $result );

    if(
    $intTrovato == 0 )
    {
    $strSql = "INSERT INTO conta_pagine(statisticaPagina, statisticaVolte ) VALUES('" . $PHP_SELF . "' , 1 )";
    }
    else
    {
    $strSql="SELECT statisticaVolte FROM conta_pagine WHERE statisticaPagina = '" . $PHP_SELF . "'";
    $result=mysql_db_query(my_miki92,$strSql,$connessione);
    while(
    $row=mysql_fetch_array($result))
    {
    $dblVolte = $row["statisticaVolte"] + 1 ;
    }
    unset(
    $result);
    $strSql = "UPDATE conta_pagine SET statisticaVolte = " . $dblVolte . " WHERE statisticaPagina = '" . $PHP_SELF . "'";
    }

    mysql_db_query(my_miki92,$strSql,$connessione);

    mysql_close();

    ?>
    Sapete aiutarmi? - Grazie in Anticipo -
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #93
    Guest

    Predefinito

    Spiega brevemente cosa rappresentano quesi due script e perchè vuoi unirli (e cosa intendi con "unirli"?)


    Ciao!

  4. #94
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Praticamente il primo script è il gestore di tutte le statistiche del mio sito (attualmente on-line) mentre il secondo è uno script che permette di tener traccia di quante e quali pagine sono state visitate.
    Per "unirli" voglio dire riuscirli a mettere insieme facendoli funzionare tutti e due e no uno solo, inoltre cosi riuscirei a includere in tutte le pagine del sito anche il secondo script senza modificare il tutto.
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #95
    Guest

    Predefinito

    Pultroppo non so darti una mano in merito ma ti do un consiglio.
    Elimina la pass el db dal tuo post... non credo sia la miglior cosa renderla pubbica a tutti ^_^

  6. #96
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Scusa ma dove vedi la mia password?
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #97
    Guest

    Predefinito

    No scusa ho avuto un'allucinazione O.o

  8. #98
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Lo script che hai fatto va bene, semplicemente togli mysql_close(); che c'è a metà codice.
    Se chiudi la connessione con il DB le altre query vanno in errore.

    PS
    Fai praticamente 5 query a visitatore.
    Il che di per se è pesante, ma la cosa più brutta è che fai select su TUTTO il database, quando le tabelle inizieranno a contenere migliaia di record questo script diventerà lento.

    Un consiglio che ti posso dare è limita al massimo le query che fai per tracciare l'utente e limitati a solo query di INSERT INTO, MOLTO più veloci(ci sarebbe un discorso sugli indici ma è lunga).
    Le query di Select falle solo quando devi visualizzare i dati.

    PPS
    Se vuoi incerementare un valore di una tupla già esistente puoi fare cosi'
    'UPDATE tabella SET campo_numerovisite=campo_numerovisite+1 WHERE cicciapelosa='.$moana;
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  9. #99
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Anche senza il mysql_close() non funziona...
    Apprezzi l'aiuto? Offrimi un caffè!

  10. #100
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Cosa vuol dire che non funziona? Che errori ti dà?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #101
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Praticamente funziona il conta pagine ma poi il servizio di statistiche non funziona...
    Apprezzi l'aiuto? Offrimi un caffè!

Pagina 4 di 4 PrimoPrimo ... 234

Regole di scrittura

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