Foros del Web » Programando para Internet » PHP »

contabilizar el numero de descargas y la hora y fecha de la ultima descarga .

Estas en el tema de contabilizar el numero de descargas y la hora y fecha de la ultima descarga . en el foro de PHP en Foros del Web. hola chicos/as tengo en mi pagina archivos descargables, el problema esta en ke kiero contabilizar el numero de descargas y la hora y fecha de ...
  #1 (permalink)  
Antiguo 16/06/2009, 04:29
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
contabilizar el numero de descargas y la hora y fecha de la ultima descarga .

hola chicos/as
tengo en mi pagina archivos descargables, el problema esta en ke kiero contabilizar el numero de descargas y la hora y fecha de la ultima descarga .
Código PHP:
$numdescargas=$numdescargas+1;
mysql_query("update trelease set numdescargas='".$numdescargas."' and fechayhora=NOW() 
                    where (codigocliente='"
.$codclient."' and nomrelease='".$release."')"); 
creo ke tengo la sintaxis mal
gracias por adelantado
  #2 (permalink)  
Antiguo 16/06/2009, 07:21
 
Fecha de Ingreso: abril-2009
Ubicación: En dust 2
Mensajes: 149
Antigüedad: 15 años
Puntos: 2
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

Intenta con esto:

Código:
$numdescargas=$numdescargas+1; 
mysql_query("update trelease set numdescargas='".$numdescargas."', fechayhora=NOW() where codigocliente='".$codclient."' and nomrelease='".$release."';");
  #3 (permalink)  
Antiguo 17/06/2009, 00:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

gracias por tu respuesta erevaristo
hice los cambios pero no hace nada sigue todo igual sin actualizacion
  #4 (permalink)  
Antiguo 17/06/2009, 00:39
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

Prueba

Código PHP:
Ver original
  1. $numdescargas=$numdescargas+1;
  2. $fec = now();
  3. mysql_query("update trelease SET numdescargas= '$numdescargas', fechayhora='$fec'
  4.                    WHERE codigocliente='$codclient' AND nomrelease='$release'");

si los codclient y release los estas enviando por GET o POST deberias poner
codigocliente='$_POST[codclient]' AND nomrelease='$_POST[release]'

que es lo correcto
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 17/06/2009, 01:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

gracias por reponder kaninox
lo probe y nada
los datos los pillo de una bd que luego envio asi

[PHP]<a href="descarga.php?codclient=<?=$codclient;?>&nomp rod=<?=$sql['nomprod'];?>&version=<?=$sql['version'];?>&arqt=<?=$sql['arqt'];?>&nomrelease=<?=$sql['nomrelease'];?>&numdescargas=<?=$sql['numdescargas'];?>&fechayhora=<?=$sql['fechayhora'];?>&tipo=A">Actualizacion</a>[PHP]

depues los recojo con get y los saco por pantalla tal que asi

[PHP]$codclient = $_GET["codclient"];
$p = $_GET["nomprod"];
$v = $_GET["version"];
$arqt = $_GET["arqt"];
$nomrelease = $_GET["nomrelease"];
$t = $_GET["tipo"];
$numdescargas =$_GET["numdescargas"];
$fechayhora=$_GET["fechayhora"];


echo"$codclient</br>";
echo"$p</br>";
echo"$v</br>";
echo"$t</br>";
echo"$nomrelease</br>";
echo"$numdescargas</br>";
echo"$fechayhora</br>";
[PHP]


todo se imprime bien menos la fecha y el numdescargas no se actualiza

Última edición por yassir; 17/06/2009 a las 01:17
  #6 (permalink)  
Antiguo 17/06/2009, 01:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

Tienes un error en la consulta para actualizar, pero es de logica, antes de llegar a ello te cuento que es mas efectivo hacer:

UPDATE tabla SET campo_numerico = campo_numerico + 1 WHERE condicion

Deja que sea MySQL el que haga la operacion al momento de actualizar los datos, resulta mas efectivo, porque si dos usuarios entran al mismo tiempo, capturas el contador en una variable, lo incrementas y despues actualizas, puede que solo te cuente una vez en lugar de dos.

Ahora, a ver si nos vamos aclarando:

Tienes:
$nomrelease = $_GET["nomrelease"];

Y, despues en la consulta:
where codigocliente='$codclient' and nomrelease='$release'

Parece que no estas usando la variable que debieras y, ademas, tambien es innecesaria si codigocliente es numerico autoincrementable, en ese caso bastaria:
where codigocliente=$codclient
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 17/06/2009, 01:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

tio eres de lo mejor me contestas a todo gracias de verdad

$nomrelease = $_GET["nomrelease"];//lo recibo de una pagina ficha.php y despues lo envio a otra que ya tiene un "release" descarga.php.
"nomrelease" es un campo en mi bd y "release" es una variable ke toma su valor depues de un filtrado.


ficha .php
********************************
conectarse();

$sql = "SELECT * FROM trelease where codigocliente='" . $codclient ."' ";
$result = mysql_query($sql) or die(mysql_error());

while($sql = mysql_fetch_array($result)) {
?>
<table>
<tr>
<td colspan="3"> <?=$sql['nomprod']; ?></td>
<td colspan="3"><?=$sql['version'];?> </td>
<td colspan="3"><a href="descarga.php?codclient=<?=$codclient;?>&nomp rod=<?=$sql['nomprod'];?>&version=<?=$sql['version'];?>&arqt=<?=$sql['arqt'];?>&nomrelease=<?=$sql['nomrelease'];?>&numdescargas=<?=$sql['numdescargas'];?>&fechayhora=<?=$sql['fechayhora'];?>&tipo=A">Actualizacion</a></td>
*******************************************
descarga.php
*************************************************

$codclient = $_GET["codclient"];
$p = $_GET["nomprod"];
$v = $_GET["version"];
$arqt = $_GET["arqt"];
$nomrelease = $_GET["nomrelease"];
$t = $_GET["tipo"];
$numdescargas =$_GET["numdescargas"];
$fechayhora=$_GET["fechayhora"];


echo"$codclient</br>";
echo"$p</br>";
echo"$v</br>";
echo"$t</br>";
echo"$nomrelease</br>";
echo"$numdescargas</br>";
echo"$fechayhora</br>";
.
.
.
.
//TPVPLUS
if($p=="tpvplus"){

if($v=="profesional"){
switch($t){
case H:
$release="tpvplus_profesional_ayuda.txt";break;
case I:
$release="tpvplus_profesional_informacion.txt";bre ak;
case A:
$release="tpvplus_profesional_actualizacion.exe";b reak;
}
}

if($v=="elite"){
switch($t){
case H:
$release="tpvplus_elite_ayuda.txt";break;
case I:
$release="tpvplus_elite_informacion.txt";break;
case A:
$release="tpvplus_elite_actualizacion.exe";break;
}
}
}//fin TPVPLUS

echo"$release";



if($release==$nomrelease and $numdescargas==1 and $t=="A" and $arqt==$arqt){

echo"Actualizacion descargada anteriormente";

}

else{
?>

<script>
document.location.href="descarga4.php?release=<?ec ho $release?> &codclient=<?=$codclient?> &numdescargas=<?=$numdescargas?>";
</script>
<?
}
?>
************************************************** **
bueno aki la salida es:

84
tpvplus
elite
A
tpvplus_elite_actualizacion.exe
0
aki deberia de imprimir la fecha pero no lo hace
tpvplus_elite_actualizacion.exe

**********************************

descarga4.php bueno aki hice el cambio pero no me lo actualiza
***********************************
$release=$_GET['release'];
$codclient=$_GET['codclient'];
$numdescargas =$_GET['numdescargas'];

header ("Content-Disposition: attachment; filename=".$release." ");
header ("Content-Type: application/octet-stream");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary ");
readfile("$release");


//$numdescargas=$numdescargas+1;
//mysql_query("UPDATE trelease SET numdescargas='".$numdescargas."' AND fechayhora=NOW()
// WHERE codigocliente='".$codclient."' AND nomrelease='".$release."';");




$fec = NOW();
mysql_query("update trelease SET numdescargas= '".$numdescargas."'+1, fechayhora='$fec'
WHERE codigocliente='".$codclient."' AND nomrelease='".$release."'");
**********************************

SORRY POR TANTO CODIGO
gracias por adelantado
  #8 (permalink)  
Antiguo 17/06/2009, 02:11
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

Esto esta mal:
Código php:
Ver original
  1. $fec = NOW();
  2. mysql_query("update trelease SET numdescargas= '".$numdescargas."'+1, fechayhora='$fec'
  3. WHERE codigocliente='".$codclient."' AND nomrelease='".$release."'");

Como te dije anteriormente, deja que MySQL haga el calculo, no pongas variable para incrementar el contador, solo pon numdescargas = numdescargas+1 asi, sin comillas, en lugar de fechayhora = '$fec' solo pon fechayhora = NOW() porque NOW() es una funcion de MySQL y no de PHP, nuevamente deja que MySQL sea quien haga la operacion.

Finalmente, en el WHERE quita el AND nombrelease='$release' porque tengo entendido que codigocliente es numerico autoincrementable y es mas que suficiente para localizar un registro.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 17/06/2009, 02:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

quedaria asi
mysql_query("update trelease SET numdescargas= numdescargas+1, fechayhora=NOW()
WHERE codigocliente='".$codclient."'");

aun asi no me ha cambiado nada,ni fecha ni incremento de numdescargas.
podrias decirme porke en descarga.php en los echo's no imprime la fecha que es de tipo datetime(en firefox si pero en explorer no)?

Última edición por yassir; 17/06/2009 a las 02:49
  #10 (permalink)  
Antiguo 17/06/2009, 02:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

Si esta vacio es porque hasta el momento no has podido realizar la actualizacion del campo correctamente, antes de pasar a descarga.php verifica que todos los datos que vas a enviar se impriman correctamente en ficha.php
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 17/06/2009, 03:29
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

el problema de la impression solucionado ya se imprimen perfectamente en ficha.php y en descarga.php y son correctos los datos pasados pero la actualizacion no se realiza de todas formas,por cierto tengo otro UPDATE en otra pagina pero tampoco actualiza.
no sera algo de privilegios o permisos?(para el usuario yassir en la bd tiene "all privileges")
no se de ke sera.
  #12 (permalink)  
Antiguo 17/06/2009, 03:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: contabilizar el numero de descargas y la hora y fecha de la ultima descarg

solucionado
ya actualiza pero numdescargas aumenta de dos en dos,revise el codigo solo tengo un incremento para numdescargas pero ya me la arreglare.
muchisimas gracias Triby por tu ayuda y pacencia y a todos los ke me han intentado ayudar
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 22:59.