Foros del Web » Programando para Internet » PHP »

Mostrar un 50% de veces un codigo y 50% otro

Estas en el tema de Mostrar un 50% de veces un codigo y 50% otro en el foro de PHP en Foros del Web. Saludos, tengo en mi web un archivo php el cual quiero que muestre el 50% de las veces un banner y el otro 50% de ...
  #1 (permalink)  
Antiguo 11/04/2010, 12:07
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta Mostrar un 50% de veces un codigo y 50% otro

Saludos, tengo en mi web un archivo php el cual quiero que muestre el 50% de las veces un banner y el otro 50% de las veces otro.

Gracias por la ayuda!
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #2 (permalink)  
Antiguo 11/04/2010, 12:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

Ahora yo te hago una pregunta. ¿Cómo sabes cuando es 50% y cuando no? Acuerdate que php es un lenguaje stateless. Esto quiere decir que no tiene conocimiento de lo que otro usuario haya hecho, ni tampoco de lo que tu hayas hecho anteriormente (con excepción de las sesiones y/o cookies)
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 11/04/2010 a las 12:19
  #3 (permalink)  
Antiguo 11/04/2010, 12:46
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

Ams :S tu pregunta me acaba de matar! xD

Es cierto tienes toda la razon :P

Entonces deberia hacer que por ejemplo si una ip x a visto 1 banner, se agregue +1 y así poder digamos que si el numero es impar, que muestre el 1er banner y que si el numero es par que muestre el 2do banner verdad?

eso marcharia con un %2 verdad?
Asi funcionaría?
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #4 (permalink)  
Antiguo 11/04/2010, 13:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

Haz la prueba y dinos como te va.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 11/04/2010, 17:08
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años
Puntos: 31
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

naaaaaaaaaaaaaaaaaa

Un simple rand no mas

Código PHP:
Ver original
  1. $valor = rand(0,100);
  2.  
  3. if ($valor <= 50){
  4. banner a mostrar;
  5. }
  6.  
  7. if ($valor >= 50){
  8. banner a mostrar;
  9. }

PD: no probe el codigo, posiblmente el rand no se use asi.
  #6 (permalink)  
Antiguo 11/04/2010, 17:22
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

Esto era lo que buscaba :D aunque pense en usar el ORDER BY RAND() ya que mis banners estan en una base de datos, pero el problema es que no se puede poner ORDER BY RAND(0,100) en mysql o si?
__________________
<?PHP if( nuevo() ) {
echo 'Bienvenid@ a ForosDelWeb, seguro que tus dudas seran bien respondidas y que tu ayuda sera bien agradecida.';
} ?>
  #7 (permalink)  
Antiguo 11/04/2010, 17:56
(Desactivado)
 
Fecha de Ingreso: octubre-2009
Mensajes: 109
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

crea una array con la direccion del banner

Código PHP:
<?php
/*
primero creamos un array con el contenido que queramos mostrar, usare solo texto
*/
$yo = array ( 
"",
"banner1",
"banner2",
"banner3",
"banner4",
"banner5");
$contarcount($yo)-1;//contamos los elementos del array menos 1 que es el valor cero del array
$suerterand(1,$contar); //usamos la funcion rand para sacar un valor a la suerte
echo $yo[$suerte];//imprimimos los valores en pantalla
?>
  #8 (permalink)  
Antiguo 11/04/2010, 17:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

Lo mejor es hacerlo en la base de datos, busca en internet hay mucha información sobre el rand de mysql.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 11/04/2010, 18:05
 
Fecha de Ingreso: agosto-2009
Ubicación: Al fondo a la derecha
Mensajes: 308
Antigüedad: 14 años, 8 meses
Puntos: 6
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

si no existe x cookie, mostras un banner1 y creas una cookie, para la siguiente, si existe esa cookie mostrar otro banner2 y borrar esa cookie...

por lo tanto, para la siguiente te va a mostrar banner1 y a la siguiente banner2 luego banner 1 y luego banner 2
__________________
Abre tu mente: Index no signigica index, significa índice
  #10 (permalink)  
Antiguo 12/04/2010, 03:47
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Mostrar un 50% de veces un codigo y 50% otro

sería "ORDER BY RAND() LIMIT 1".

Eso sí, no te recomiendo usar el rand() del sql, almenos, no en una tabla con muchos registros :D

Etiquetas: banner, rotacion
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 01:33.