Foros del Web » Programando para Internet » PHP »

Php banner de impresion + clic muy bueno

Estas en el tema de Php banner de impresion + clic muy bueno en el foro de PHP en Foros del Web. Saludos aqui les tengo un sistema de banners por impresiones y clic esta fino, pero tengo algunos inconvenientes mas profundos que quiero que me ayuden ...
  #1 (permalink)  
Antiguo 02/08/2008, 17:45
 
Fecha de Ingreso: junio-2008
Mensajes: 11
Antigüedad: 16 años, 5 meses
Puntos: 0
De acuerdo Php banner de impresion + clic muy bueno

Saludos aqui les tengo un sistema de banners por impresiones y clic esta fino, pero tengo algunos inconvenientes mas profundos que quiero que me ayuden por fa:

BSE DE DATOS MYSQL

Código PHP:
--
-- 
Estructura de tabla para la tabla `banner`
--

CREATE TABLE `banner` (
  `
banner_idint(10unsigned NOT NULL auto_increment,
  `
nombrevarchar(20) default NULL,
  `
urlvarchar(100) default NULL,
  `
url_imagenvarchar(100) default NULL,
  `
impresionesint(10unsigned default '0',
  `
clicsint(10unsigned default '0',
  
PRIMARY KEY  (`banner_id`)
ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

--
-- 
Volcar la base de datos para la tabla `banner`
-- 



Nombre: Banners-Clic.php

Código PHP:
<?php

//  Conecta con el servidor mysql
  
$link mysql_connect('localhost',  'usuario''contraseña');
  if(!
$link) {

    
// Si no  conecta, muestra un error y termina la ejecucion
    
die('nombre_data_base' mysql_error());
 }

// Selecciona la base de datos que contiene la  tabla banner
  
if(!mysql_select_db('nombre_data_base'',  $link))
  {

    // Si no  se puede seleccionar muestra error y termina ejecucion
     die('
Error seleccionando base de datos:  . mysql_error());
  }

// Toma un banner aleatorio de la base de datos
  
$sql "SELECT banner_id, nombre, url,  url_imagen FROM banner ORDER BY RAND() LIMIT 1";
  
$res mysql_query($sql);
list(
$banner_id$nombre$url$url_imagen) =  mysql_fetch_array($res);

// Muestra el banner
  
echo "<a href=\"http://www.tuweb.net".$banner_id."\">\n";
  echo 
"<img  src=\"http://www.tuweb.net/images/pabellon_1.gif".$url_imagen."\" width=\"468\"  height=\"60\" ";
  echo 
"border=\"0\"  alt=\"texto a mostrarse con el mouse".$nombre."\"></a>\n";
  
  

// Actualiza la cantidad de impresiones del  banner
  
$sql "UPDATE banner SET impresiones=impresiones+1  WHERE banner_id=".$banner_id." LIMIT 1";
  
mysql_query($sql);
?>

Nombre: Banners-Clic_master.php
Código PHP:
 <?php

// Archivo 'banner-clic.php'

// Conecta con el servidor mysql
  
$link mysql_connect('localhost',  'usuario''contraseña');
  if(!
$link) {

    
// Si no  conecta, muestra un error y termina la ejecucion
    
die('maracaibo' mysql_error());
  }

// Selecciona la base de datos que contiene la  tabla banner
  
if(!mysql_select_db('maracaibo',  $link))
  {

    
// Si no  se puede seleccionar muestra error y termina ejecucion
     
die('Error seleccionando base de datos: ' mysql_error());
  }

// Revisa si se paso el parametro correcto
  
if(!isset($_GET['banner_id']) || !eregi(^[0-9]+$’,  $_GET['banner_id']))
  {
    die(
’Ha  seguido un enlace incorrecto’);
  }
$banner_id $_GET['banner_id'];
$sql "SELECT url FROM banner WHERE  banner_id=" $banner_id;
  
$res mysql_query($sql);
if(
mysql_num_rows($res) == 0)
  {

    
// Si el  banner no existe muestra el error y termina ejecucion
     
die(’Este banner no existe’);
  }
  else
  {
     list(
$url) = mysql_fetch_array($res);

  
//  Actualiza la cantidad de clics
    
$sql =  "UPDATE banner SET clics=clics+1 WHERE banner_id=".$banner_id."  LIMIT 1";
    
mysql_query($sql);

  
//  Redirecciona el navegador
     
header(’Location‘ $url);
    die();
  }
?>

Funciona bien, necesito su ayuda aqui no se como hacer para ver los clic y impresiones y tampoco para colocarlos que cada vez que yo actualize se vea uno y luego actualise de nuevo y se vea otro, por favor ayudenme en esa le deje la tabla de la base de datos y sus 2 archivos uno que llama a la base de dato y el otro que muestra los banners, gracias
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 21:45.