Foros del Web » Programando para Internet » PHP »

problema con la funcion php

Estas en el tema de problema con la funcion php en el foro de PHP en Foros del Web. Hola tengo un problema y no se por donde esta o no me estoy dando cuenta, me podriais hechar una mano porfavor? lo que quiero ...
  #1 (permalink)  
Antiguo 31/03/2012, 10:12
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Exclamación problema con la funcion php

Hola tengo un problema y no se por donde esta o no me estoy dando cuenta, me podriais hechar una mano porfavor?

lo que quiero es que me saque el resultado y escriba uno nuevo.

Código PHP:
Ver original
  1. <?php
  2.     function initCounter() {
  3.         global $db,$db_table_prefix;
  4.        
  5.         $Counterip              = $_SERVER['REMOTE_ADDR'];      //get visitor ip
  6.         $Counterremoteport      = $_SERVER['REMOTE_PORT'];      //get visitor ip
  7.         $Counterlocation        = $_SERVER['PHP_SELF'];         //get server file path
  8.         $Counterbrowser         = $_SERVER['HTTP_USER_AGENT'];  //get the browser name
  9.         $Counterfrom_page       = $_SERVER['REQUEST_URI'];      //page from which visitor
  10.         $CounterDate            = date('Y-m-d');
  11.  
  12.         //create log in database table 'counter'
  13.         $sql = "INSERT INTO ".$db_table_prefix."StatTracker
  14.         (Browser,IP,Port,Date_Visited,Page,From_Page)VALUES(
  15.             '".$db->sql_escape(sanitize($Counterbrowser))."',
  16.             '".$db->sql_escape(sanitize($Counterip))."',
  17.             '".$db->sql_escape(sanitize($Counterremoteport))."',
  18.             '".$CounterDate."',
  19.             '".$db->sql_escape(sanitize($Counterlocation))."',
  20.             '".$db->sql_escape(sanitize($Counterfrom_page))."'";
  21.         return $db->sql_query($sql);
  22.     }
  23.  
  24.     function getCounter($mode, $Counterlocation = NULL) {
  25.         global $db,$db_table_prefix;
  26.         if(is_null($Counterlocation)) {
  27.         $Counterlocation = $_SERVER['PHP_SELF'];
  28.         }
  29.  
  30.         if($mode == "unique") {
  31.         $sql = "SELECT DISTINCT IP
  32.                 FROM ".$db_table_prefix."StatTracker
  33.                 WHERE From_Page = '".$db->sql_escape(sanitize($Counterlocation))."'";
  34.         } else {
  35.         $sql = "SELECT IP
  36.                 FROM ".$db_table_prefix."StatTracker
  37.                 WHERE From_Page = '".$db->sql_escape(sanitize($Counterlocation))."'";
  38.         }
  39.         return $db->sql_query($sql);
  40.     }
  41.  
  42.  
  43. echo getCounter('hits');
  44. echo getCounter('unique');
  45. ?>

pero al hacerlo me saca esto en la web
Resource id #19Resource id #20 

gracias
  #2 (permalink)  
Antiguo 31/03/2012, 10:31
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 3 meses
Puntos: 139
Respuesta: problema con la funcion php

No veo ningun error en esto por que

echo getCounter('hits');

Claramente la funcion getCounter devuelve el Resource Id de la consulta.
Lo que tienes que hacer es interpretarlo.

Código PHP:
Ver original
  1. $result = getCounter('hits');
  2. $data= $db->sql_fetchrow($result);
  3.  
  4. echo $data['IP'];
Esto es para que tengas una idea.
  #3 (permalink)  
Antiguo 01/04/2012, 00:38
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Exclamación Respuesta: problema con la funcion php

gracias por la respuesta, algo me sirvio para corregir ya lo he pasado a una clase y funciona bastante mejor pero me sigue fallando esa parte

no me tira el resultado me lo multiplica
gracias

Etiquetas: funcion, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.