Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2006
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 19
Shidalis Va por buen camino
Question Cómo puedo hacer un contador de visitas?

hola a todos
Mi pregunta esta vez es para que me ayuden a hacer un contador de visitas a una pagina.
Les explico mejor estoy en desarrollo de un foro y quiero que muestre el numero de visitas a un tema en particular.
Espero que me puedan ayudar. Les agradeszco por adelantado cualquier ayuda que puedan ofrecerme
Responder Con Cita
  #2  
Antiguo 11-05-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Hola, si te refieres a que te muestre las visitas que ha tenido cada uno de los temas de tu foro, tal como se muestra en este foro, lo que debes hacer es agregar un campo mas en la tabla donde guardas el tema, este campo que sea de tipo entero y cada vez que alguien lea este tema le sumes 1 a este campo.

ej:

si presionas sobre el enlace dominio.com/vertema.pbp?t=123, entendemos que estaremos leyendo el tema #123 de el foro, para que incremente 1 al contador, deberás agregar este código al archivo vertema.php:
Código PHP:
$rUpdate mysql_query ('UPDATE temas SET contador = contador+1 WHERE id='.$t); 
con eso cada vez que alguien entre a ver cualquier tema, automaticamente el contador irá incrementandose en 1.

Espero te sirva.
Sadudos.
Responder Con Cita
  #3  
Antiguo 15-05-2006
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 19
Shidalis Va por buen camino
Thumbs up

Hola gracias por tu respuesta si me funciona, pero cuando le doy click a alguna de las repuestas se me incrementan todas
Responder Con Cita
  #4  
Antiguo 15-05-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
explicame esto último porque no lo he entendido, ¿podrías poner tu código?.

SAludos.
Responder Con Cita
  #5  
Antiguo 15-05-2006
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 19
Shidalis Va por buen camino
Unhappy

disculpa sino me explique muy bien, lo que quise decir es que yo le doy click a alguno de los temaspara qeu vaya a su respectiva respuesta y en vez de que se incremente el numero de visitas de ese tema se incrementa el campo de todos los temas; aqui esta codigo:

Cita:
<a href="VerRespuesta.php?ident=<?php echo $id; ?>" onClick="<?php $ssql="Update foro set visitas=visitas+1 where id=$id";
$rUpdate = mysql_query ($ssql, $con);?>">
sino no entiendes por favor hazmelo saber .
Responder Con Cita
  #6  
Antiguo 15-05-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
aún sigo sin entenderlo del todo, pero y si hicieras esto:
Código PHP:
$ssql="Update foro set visitas=visitas+1 where id=$id Limit 1"
pon la estructura de la tabla foro para conocerla mejor

Saludos.
Responder Con Cita
  #7  
Antiguo 15-05-2006
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 19
Shidalis Va por buen camino
Unhappy

bueno gracias por tratar de entenderme;
Tengo una tabla con 5 campos; el primero indica los temas que hay en el foro; el segundo indica el ultimo usuario que respondio a ese tema; el tercero indica la cantidad de respuestas que ese tema tiene y el; e cuarto indica el numero de visitas que ha tenido un tema en particular; y el quinto la fecha de creacion del tema.
La funcion es que al dar click en un tema en particular se dirige a una pagina donde se encuentran todas las respuestas de ese tema:
Ahora te paso la estructura de la tabla:

Código PHP:
<table width="100%" height="92%" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF">
        <!--DWLayoutTable-->
        <!--DWLayoutTable-->
        <tr bordercolor="#FF9900" bgcolor="#FFCC66">
          <td width="59%" height="46%" bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo133 Estilo137"><div align="center" class="Estilo88 Estilo137  Estilo149">
            <div align="center">Tema/Autor</div>
          </div></td>
          <td width="11%" bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo133 Estilo137"><div align="center">Ult.Usuario</div></td>
          <td width="7%" align="center" valign="middle" bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo133 Estilo137"><div align="center" class="Estilo150">
            Resp.</div></td>
          <td width="8%" align="center" valign="middle" bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo133 Estilo137"><div align="center">N&ordm; Visitas </div></td>
          <td width="10%" align="center" valign="middle" bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo133 Estilo137"><div align="center" class="Estilo151">
            Fecha</div></td>
        </tr>
        <?php
//construyo la sentencia SQL
$sql "SELECT * FROM foro order by id desc LIMIT " $inicio "," $TAMANO_PAGINA;
$rs mysql_query ($sql,$con);
while (
$row mysql_fetch_assoc($rs))
     {
     
?>
        <tr align="center" valign="middle" bordercolor="#FF9900" bgcolor="#FFFFFF" class="Estilo125">
          <?php $id=$row["id"]; ?>
          <th height="54%" align="left" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#FEF2CD" class="Estilo125 Estilo137"><div align="justify" class="Estilo110">
            <p><a href="VerRespuesta.php?ident=<?php echo $id?>
         onClick="<?php $ssql "Update foro set visitas=visitas+1 where id=$id Limit 1";
                     
$rUpdate mysql_query(ssql$con); ?>">
   
   <?php
      $cadena
substr($row["titulo"],0,22);
      if (
strlen($cadena)>=22){
         echo 
$cadena "...";
      } else {
          echo 
$cadena; }
         
?>
   </a> </p>
            <p><?php echo $row["autor"]; ?></p>
          </div></th>
          <th align="left" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#FFCC99" class="Estilo110">
    <?php $sql1="Select autor from respuestas_foro where id=$id order by fecha desc";
          
$rs1=mysql_query($sql1$con);
    while (
$row1=mysql_fetch_assoc($rs1))
       {
    
?>
    <p>Por</p>
            <p><?php  echo $row1["autor"]; } ?></p></th>
          <?php $sql2="Select count(id) as resp from respuestas_foro where id=$id";
          
$rs2=mysql_query($sql2$con);
    while (
$row2=mysql_fetch_assoc($rs2))
       {
    
?>
          <td align="center" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#FEF2CD" class="Estilo110"><?php  echo $row2["resp"]; } ?></td>
    <?php $sql3 "Select visitas from foro where id=$id"
          
$rs3 mysql_query($sql3$con);
    while (
$row3=mysql_fetch_assoc($rs3))
       {
    
?>
          <td align="center" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#FFCC99" class="Estilo110"><?php echo $row3["visitas"]; } ?></td>
          <td align="center" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#FEF2CD" class="Estilo133 Estilo137"><div align="center" class="Estilo110">
            <div align="center">
              <p><?php echo DateConvert($row["fecha"],"d-m-Y h:i a"); ?></p>
            </div>
          </div></td>
        </tr>
        <?php 
}
?>
        <tr align="center" valign="middle" bordercolor="#FF9900" bgcolor="#FFFFFF" class="Estilo125">
          <th height="54%" align="left" valign="top" nowrap bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo144 Estilo137"><!--DWLayoutEmptyCell-->&nbsp;</th>
          <th align="left" valign="top" nowrap bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo144 Estilo137"><!--DWLayoutEmptyCell-->&nbsp;</th>
          <td align="center" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo140 Estilo137"><!--DWLayoutEmptyCell-->&nbsp;</td>
          <td align="center" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo140 Estilo137"><!--DWLayoutEmptyCell-->&nbsp;</td>
          <td align="center" valign="middle" nowrap bordercolor="#FFFFFF" bgcolor="#990000" class="Estilo140 Estilo137"><!--DWLayoutEmptyCell-->&nbsp;</td>
        </tr>
      </table>
donde esta el href es donde se dirige a la otra pagina a mostrar las respuesta de ese tema al que esta haciendo click y coloque el update en el onclik de ese evento.
Ahora nose si se debe poner alli o en otro lado.
Por favor sino entiendes hazmelo saber

Última edición por dec fecha: 15-05-2006 a las 21:14:27.
Responder Con Cita
  #8  
Antiguo 15-05-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
mirá, por que no ponés esta consulta al momento de cargar el tema:
Código SQL [-]
Update foro set visitas=visitas+1 where id=$id Limit 1

Posiblemente te esté dando este problema pues a la variable $id le asignas un valor en cada fila de la tabla de los temas.

Saludos.
Responder Con Cita
  #9  
Antiguo 15-05-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
jejeje se duplico la respuesta
Responder Con Cita
  #10  
Antiguo 15-05-2006
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 19
Shidalis Va por buen camino
Lightbulb

eso es lo que estoy haciendo y no me funciona colocandole el "Limit"; no modifica
Responder Con Cita
  #11  
Antiguo 15-05-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
bueno hacé lo siguiente, quita el limit de la consulta, pero ejecuta la consulta en la página que carga el tema y no en el indice.

ej:
foro.php contiene el indice de todos los temas que tienes en tu foro.
temas.php contiene los temas del foro.

Lo que debes hacer es ejecutar la consulta al inicio de el fichero temas.php y le pones el id del tema que estás viendo.
Responder Con Cita
  #12  
Antiguo 16-05-2006
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 19
Shidalis Va por buen camino
Thumbs up

ok, me funciono tu consejo me sirvio de mucho.
Te agradezco mucho la ayuda que me prestaste.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo hacer una coneccion ssh quetzal Internet 0 15-07-2004 04:33:39
como puedo hacer una conexion ssh quetzal Varios 0 09-07-2004 06:23:59
Cómo puedo hacer un formulario de inicio ronimaxh Varios 2 23-09-2003 16:26:03
Como puedo hacer esto ? IVAND Conexión con bases de datos 1 22-07-2003 00:23:24


La franja horaria es GMT +2. Ahora son las 00:08:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi