Avatar Image
@man / @woman
@man / @woman
Miren me sale esto:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webcindario/seco/banner.php on line 8

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webcindario/seco/banner.php on line 15

Este es el script que esta en banner.php

<?
//Nos conectamos a la db
$db = mysql_connect("localhost","seco","xxx&quot;
mysql_select_db("seco",$db);

//Miramos cuantos banners hay y seleccionamos uno al azar
$query_banners_cuenta = mysql_query("select * from banners WHERE mostrar='si'&quot;
$numero_banners_cuenta = mysql_num_rows($query_banners_cuenta);
$numero_banner = rand(1, $numero_banners_cuenta);

//Seleccionamos el banner que nos salió
$query_banners = mysql_query("select * from banners WHERE mostrar='si' AND id='$numero_banner'&quot;

//Con esta variable devolvemos todo lo del query
$datos_banner = mysql_fetch_array($query_banners);

//Aqui seteamos las veces que se a visto el banner
$entradas=$datos_banner[vistas];
$entradas=$entradas+1;
mysql_query("UPDATE banners SET vistas='$entradas' WHERE id='$numero_banner'&quot;
?>

Esto es lo que hay en las lineas 8 y 15:

8:$numero_banners_cuenta = mysql_num_rows($query_banners_cuenta);

15:$datos_banner = mysql_fetch_array($query_banners);

Entonces que es lo que esta mal ayudenme.
Avatar Image
Machacateclados
Machacateclados

Acuérdate que tu tabla se llama "webs" y que en este script de xergio.net te pone la tabla "banners", pon el nombre de tu tabla, por cierto el código está un poco largo, te lo escribo más simplificado:

<?
include("config.php") ;
$resp = mysql_query("select id from webs") ;
$banners = mysql_num_rows($resp) ;
$banners = rand(1,$banners) ;
mysql_free_result($resp) ;
$resp = mysql_query("select * from webs where id='$banners'") ;
echo "
<a href=$datos[url]><img src=$datos[banner] border=0></a>
" ;
mysql_query("update webs set visitas=visitas+1 where id='$banners'") ;
mysql_free_result($resp) ;
mysql_close($conectar) ;
?>


Mira para poder seleccionar un banner al azar, pides el total de registros que hay en tu tabla, si son 20, pues la función "rand(1,$banners)" te da un número entre 1 y 20, después con ese número se hace una consulta para mostrar un enlace con una imagen que en este caso es el banner, y se actualiza el campo visitas para que se vayan guardando las veces que se ha mostrado el banner. Para esto debes crear un campo con la siguiente estructura:

visitas smallint(5) unsigned not null

Saludos !!!

juancabo
Usuario Novato
Usuario Novato

Para obtener un registro al azar de una base de datos mysql puedes utilizar la funcion RAND() junto con un LIMIT 1 asi:

select * from tabla where columna = 'valor' ORDER BY RAND() LIMIT 1

eso regresa un solo registro al azar del set seleccionado..

Espero te sirva de algo...

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 04/May/2003, 08:28
MaIcOl x-lord elQh23kMay/03