Foros del Web » Programando para Internet » PHP »

Un CUENTACLICKS sin CERO. AYUDA

Estas en el tema de Un CUENTACLICKS sin CERO. AYUDA en el foro de PHP en Foros del Web. Buenas a todos, ab si me podeis resolver una duda: Tengo un código que cuenta clicks en enlaces y funciona perfectamente pero solo cuenta los ...
  #1 (permalink)  
Antiguo 21/06/2004, 05:56
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 2 meses
Puntos: 0
Un CUENTACLICKS sin CERO. AYUDA

Buenas a todos, ab si me podeis resolver una duda:
Tengo un código que cuenta clicks en enlaces y funciona perfectamente pero solo cuenta los clicks de los enlaces ke existen en la base de datos, este es el codigo:

Código:
<?
if($click){
$numero = mysql_query("SELECT clicks FROM cuentaclicks WHERE url='$click'");
while($row = mysql_fetch_array($numero)){
echo $row['clicks'];
}}else{
}
?>
Si la casilla $click no existe en la base de datos logicamente no imprime nada, pero si quiero que imprima un CERO,

¿que tendria que introducir?

PD: Seguramente es una tonteria pero no doy con ella. Gracias de antemano
  #2 (permalink)  
Antiguo 21/06/2004, 08:38
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 10 meses
Puntos: 0
Quizá poner como valor por defecto 0 en el campo de la tabla sería la solución.

Saludos
  #3 (permalink)  
Antiguo 21/06/2004, 10:17
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 2 meses
Puntos: 0
Sería una solución, pero tendría que estar agregando enlaces a la base de datos y lo que me interesa es que se vayan agregando a medida que se hace click... gracias, lo haré como ultimo remedio. ¿Alguna otra alternativa?
  #4 (permalink)  
Antiguo 21/06/2004, 11:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cuando dices "casilla" que que te refieres?

En principio .. con la función mysql_num_rows() (o en su defecto COUNT(*) del SQL de Mysql) puedes contar el nº de registros arrojados por tu consulta SQL .. Si es = 0 .. entonces no hay nada que mostrar ahí y podras mostrar tu "cerro" por defecto.

Código PHP:
<?
if (!empty($clicks)){
       
$numero mysql_query("SELECT clicks FROM cuentaclicks WHERE url='$click'");
       
$total=mysql_num_rows($numero);
       if (
$total == 0){
          while(
$row mysql_fetch_array($numero)){
              echo 
$row['clicks'];
         }
       } else {
            echo 
"0";
   }
}
Por cierto .. Si se supone que bajo esta consulta SQL:
$numero = mysql_query("SELECT clicks FROM cuentaclicks WHERE url='$click'");

sólo se va a arrojar un sólo registro como resultado o 0 (ninguno) dependiendo de que si existe o no existe .. el bucle "while" que usas estaría de más ..

Podrías usar en lugar de:
Código PHP:
while($row mysql_fetch_array($numero)){
              echo 
$row['clicks'];
         } 
La función mysql_result() tipo:

Código PHP:
echo mysql_result($numero,0); 
Un saludo,




Un saludo,
  #5 (permalink)  
Antiguo 21/06/2004, 17:02
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 2 meses
Puntos: 0
Gracias,, he realizado algunos cambios al codigo que has puesto, ya que no lo mostraba como yo keria, pero me ha servido de mucho y he resuelto el mio,, supongo ke me explike mal, lo de casilla me referia a celda y así se me ha quedado, lo pongo por si alguien le interesa:

Código:
<?php
if (!empty($click)){
$numero = mysql_query("SELECT clicks FROM cuentaclicks WHERE url='$click'"); 
$total = mysql_num_rows($numero);
if (empty($total)) echo "0";
if (!empty($total)) echo mysql_result($numero,0);
       } else {
            echo "0"; 
   }
?>
PD: Quien lo quiera ver está en mi web http://trujillo.islarock.com sección de videos.

Gracias Cluster y un saludo a todos.
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:44.