Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/09/2005, 09:02
Avatar de Seppo
Seppo
 
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Veo un error en el delete y un posible error en el insert...
En el delete no es DELETE * FROM sino que es DELETE FROM
En el insert es conveniente poner el nombre de los campos
En el select agrego un limit 1 porque te interesa saber si es vacío o no... si tiene 1.000 registros, con uno alcanza, además de que traer todos los campos tampoco tiene ninguna finalidad
Para el if uso la funcion mysql_num_rows, http://ar.php.net/manual/es/function.mysql-num-rows.php para saber si recibe datos

Para ver los error de mysql es conveniente poner que los muestre. Generalmente, después de una consulta se pone algo como "or die(mysql_error())" para ver los posibles errores de mysql.

Código PHP:
function agregar_visita($pid)
{
        global 
$CONFIG;
        
$semana=date("W"); //Saber cual es el numero de semana actual
        
$semana_inserv=date("W")-2//dos semanas atras
        //comprobar si el campo del a semana actual del usuario esta creado sino
        //es asi crear uno nuevo
         
$result mysql_query("SELECT visitas FROM `visitas_semana` WHERE semana=$semana AND pid=$pid LIMIT 1") or die(mysql_error()) ;
        
         if (
mysql_num_rows($result) == 0){
             
mysql_query("INSERT INTO `visitas_semana` (semana, pid, visitas) VALUES ($semana, $pid, 1)") or die(mysql_error()) ;;
         }else{
            
mysql_query("UPDATE `visitas_semana` SET visitas=visitas+1 WHERE pid=$pid AND semana=$semana") or die(mysql_error()) ;;
         }
         
//Borrar campos inservibles para no llenar la base de datos de basura
         
mysql_query("DELETE FROM `visitas_semana` WHERE semana<=$semana_inserv AND pid=$pid") or die(mysql_error()) ;;
         } 
Espero haberte ayudado