Visualizzazione risultati 1 fino 5 di 5

Discussione: Stampare valori estratti da mysql [era: Ricercare stringa in una tabella mysql]

  1. #1
    Guest

    Predefinito Stampare valori estratti da mysql [era: Ricercare stringa in una tabella mysql]

    Buonasera, volevo creare un contatore visite per visitatori unici, ovvero 1 visita per ogni ip e avevo abbozzato questi codici:

    Codice PHP:
    <?php
    // settiamo le variabili di connessione
    $host="localhost"; // LASCIARE COSÌ
    $username=" USERNAME ";
    $password="";
    $db_name=" NOME DB ";

    $db = mysql_connect($localhost,$username,$password) or die(mysql_error());

    mysql_select_db($db_name, $db) or die(mysql_error());

    $query_create = "CREATE TABLE IF NOT EXISTS visite (ip CHAR(15))";

    mysql_query($query_create) or die(mysql_error());

    $ip = $_SERVER['REMOTE_ADDR'];

    $sel = mysql_query("SELECT * FROM visite WHERE ip=".$ip."");

    $cont = mysql_num_rows($sel);

    if(
    $cont==0) {
    mysql_query("INSERT INTO visite (ip) VALUES (".$ip.")");
    }

    $vis = mysql_query("SELECT COUNT(*) FROM visite");

    mysql_close($db);

    echo
    $vis;

    ?>
    Il problema è che come output mi da "Resource id #3" ..

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Il titolo della discussione non mi sembra inerente al problema che hai esposto...

    Comunque, è normale che ti stampi "Resource id #3" perché non hai estratto i risultati, ma hai solo eseguito la query.

    Quindi:
    Codice PHP:
    $q = mysql_query("SELECT COUNT(*) FROM visite");
    $r = mysql_fetch_row($q);
    $vis = $r[0];

    echo
    $vis;
    e leggi bene la documentazione per queste funzioni: mysql_fetch_array, mysql_fetch_row, mysq_fetch_assoc.

    Un altro metodo per ottenere il numero dei record in una tabella:
    Codice PHP:
    $q = mysql_query("SELECT * FROM visite");
    $vis = mysql_num_rows($q);

    mysql_num_rows
    Ultima modifica di javascripter : 13-05-2011 alle ore 19.01.38

  3. #3
    Guest

    Predefinito

    Ok grazie mille e scusa per il titolo errato , non ne trovavo uno adatto :S

    COmunque ho scritto così:

    Codice PHP:
    <?php
    // settiamo le variabili di connessione
    $host="localhost"; // LASCIARE COSÌ
    $username="suppliers";
    $password="";
    $db_name="my_suppliers";

    $db = mysql_connect($localhost,$username,$password) or die(mysql_error());

    mysql_select_db($db_name, $db) or die(mysql_error());

    $query_create = "CREATE TABLE IF NOT EXISTS visite_uniche (ip CHAR(15))";

    mysql_query($query_create) or die(mysql_error());

    $ip = $_SERVER['REMOTE_ADDR'];

    $sel = mysql_query("SELECT * FROM visite_uniche WHERE ip=".$ip."");

    $cont = mysql_num_rows($sel);

    if(
    $cont==0) {
    mysql_query("INSERT INTO visite_uniche (ip) VALUES (".$ip.")");
    }

    $q = mysql_query("SELECT * FROM visite_uniche");
    $vis = mysql_num_rows($q);

    echo
    $vis;

    ?>
    Il problema è che non aumentano le visite, l' ho fatto provare a vari miei amici e appare sempre 0
    Ultima modifica di suppliers : 13-05-2011 alle ore 19.14.55

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Hai controllato se nella tabella vengono inseriti effettivamente i records?
    Secondo me è colpa del tipo di dati che assegni al campo ip; invece di CHAR, crea un VARCHAR con qualche carattere in più.

  5. #5
    Guest

    Predefinito

    Anche con varchar non va, non viene inserito nulla.. Forse sarà colpa degli apici?


    $ip = $_SERVER['REMOTE_ADDR'];

    $sel = mysql_query("SELECT * FROM visite_uniche WHERE ip=".$ip."");

    $cont = mysql_num_rows($sel);

    if($cont==0) {
    mysql_query("INSERT INTO visite_uniche (ip) VALUES (".$ip.")");
    }

    $q = mysql_query("SELECT * FROM visite_uniche");
    $vis = mysql_num_rows($q);

    echo $vis;
    SCusa se non ho usato il tag PHP ma mi serviva quote per farti vedere dove intendo ..

    EDIT: risolto, era proprio degli apici il problema.
    Ultima modifica di suppliers : 13-05-2011 alle ore 22.31.09

Regole di scrittura

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