Foros del Web » Programando para Internet » PHP »

barra de progreso

Estas en el tema de barra de progreso en el foro de PHP en Foros del Web. buenas tardes, quisiera saber como hacer una barra de progreso que vaya aumentando poco a poco sin recargar la pagina, es decir. son las 6:30 ...
  #1 (permalink)  
Antiguo 23/10/2010, 09:22
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
barra de progreso

buenas tardes, quisiera saber como hacer una barra de progreso que vaya aumentando poco a poco sin recargar la pagina, es decir.

son las 6:30 horas y tengo en la BD que un proyecto va a terminar a las 7:00 pues como hago para que se muestre una barra que vaya aumentando poco a poco?

THANKS!!
  #2 (permalink)  
Antiguo 23/10/2010, 09:28
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: barra de progreso

Cita:
Iniciado por emuso88 Ver Mensaje
buenas tardes, quisiera saber como hacer una barra de progreso que vaya aumentando poco a poco sin recargar la pagina
puedes usar ajax o javascript, cualquiera de los dos junto con css, yo utilizaría ajax para tener mas control del tiempo y fecha, ya que como es en el servidor, el cliente no puede manipular los tiempos a diferencia que lo hagas solo con javascript, si el usuario cambia la fecha y hora de su equipo ya no será real lo que muestre la página.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 23/10/2010, 10:08
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: barra de progreso

mira si te sirve esta http://skunkworks.ivanvanderbyl.com/
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #4 (permalink)  
Antiguo 23/10/2010, 11:24
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: barra de progreso

si, pero donde podria encontrar un ejemplo en ajax?
  #5 (permalink)  
Antiguo 23/10/2010, 12:32
 
Fecha de Ingreso: octubre-2010
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: barra de progreso

Hola,

Yo lo haría con javascript.

para crear una barra con javascript es muy sencillo:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
	<HTML>
	<HEAD>
		<TITLE> New Document </TITLE>
		<script>
			temporizador=1;
			iteracioncadaXmilisegundos=1000; // cada 1 segundo - 1000 milisegundos se incrementa la barra
			milisegundosMaximo=10000;  // a los 10 segundos 10000 milisegundos el intervalo se para.
			var myInterval = window.setInterval
			(
				function (a,b) 
				{
					temporizador+=10;
					document.getElementById("barra").style.width=temporizador+"px";
					
				}
				,iteracioncadaXmilisegundos
			);

			window.setTimeout
			(
				function (a,b) 
				{
					document.getElementById("barra").style.background="red";
					clearInterval(myInterval);
				}
				,milisegundosMaximo
			);
		</script>
	</HEAD>

	<BODY>
	<span id="barra" style="display:block;background-color:black;width:0px;" ></span>
	</BODY>
</HTML> 
Lo que pasa es que a la carga de página tienes que coger de la base de datos o de dónde esté la información de tiempo restante y configurar el intervalo de javascript.

Por ejemplo si al cargar la página quedan 30 minutos y quieres que la barra aumente cada minuto

Código HTML:
			iteracioncadaXmilisegundos=60*1000; 
			milisegundosMaximo=30*60*1000;
Con esto ya tendrias un punto de partida.

Ajax, bueno ajax sería llamar a un script en php que te devuelva cuando tiempo queda, pero si configuras el clearInterval al cargar la página lo mismo ni hace falta.

Esto que te pongo es sólo un punto de partida que seguramente tendrás que toquetear.

(yo no soy un experto en javascript lo mismo no es la forma más correcta de hacerlo pero lo mismo te sirve de algo)

Un saludo.
  #6 (permalink)  
Antiguo 23/10/2010, 12:47
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: barra de progreso

y como seria un contador regresivo? es decir lo de te quedan 6, 5, 4.... eso. creo que seria mas facil no? por que la verdad, no se mucho y con lo otro m estoy haciendo la picha un lio
  #7 (permalink)  
Antiguo 24/10/2010, 05:21
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: barra de progreso

Código PHP:
Ver original
  1. <?php
  2. include("conex.php");
  3. mysql_connect("$server", "$dbusername", "$dbpass") or die(mysql_error());
  4. mysql_select_db("$dbname") or die(mysql_error());
  5. $result = mysql_query("SELECT * FROM time") or die(mysql_error());  
  6. $row = mysql_fetch_array( $result );
  7.     // Print out the contents of each row into a table
  8.     $hour=$row['ho'];
  9.     $minute=$row['mi'];
  10.     $second=$row['se'];
  11.    
  12.     echo"s-$second m-$minute h-$hour";
  13.  ?>
  14. <script language="javascript">
  15. <!--
  16. //Codigo que muestra una cuenta atras hasta finalizar el tiempo indicado
  17. //La Web del Programador
  18. //http://www.lawebdelprogramador.com
  19.  
  20. //variables que determinan el tital de horas, minutos y segundos para la cuenta atras
  21. toHour= <?php echo $hour; ?> ;
  22. toMinute= <?php echo $minute; ?> ;
  23. toSecond= <?php echo $second; ?> ;
  24.  
  25. //cuenta atras
  26. function countDown()
  27. {
  28.     toSecond=toSecond-1;
  29.     if(toSecond<0)
  30.     {
  31.         toSecond=59;
  32.         toMinute=toMinute-1;
  33.     }
  34.     form.second.value=toSecond;
  35.  
  36.     if(toMinute<0)
  37.     {
  38.         toMinute=59;
  39.         toHour=toHour-1;
  40.     }
  41.     form.minute.value=toMinute;
  42.  
  43.     form.hour.value=toHour;
  44.     if(toHour<0)
  45.     {
  46.         //final
  47.         form.second.value=0;
  48.         form.minute.value=0;
  49.         form.hour.value=0;
  50.     window.location.href='pagina.php'; //////////////Aqui nos envia a la pagina
  51.     }else{
  52.         setTimeout("countDown()",1000);
  53.     }
  54. }
  55. -->
  56. </script>
  57.  
  58. <style type="text/css">
  59. .form_input
  60. {
  61.     font-family: Verdana;
  62.     font-size: 12;
  63.     color: #ffffff;
  64.     border-width: 0;
  65.     background-color: #000077;
  66.     text-align: right;
  67. }
  68. </style>
  69. </head>
  70.  
  71. <body onload="countDown();">
  72. <form name="form">
  73.     Tiempo restante...: 
  74.     <input type="text" size="5" class="form_input" name="hour" disabled>:
  75.     <input type="text" size="5" class="form_input" name="minute" disabled>:
  76.     <input type="text" size="5" class="form_input" name="second" disabled>
  77. </form>

he echo esto, pero sera fiable con el tiempo del servidor no? ya que solo coje al principio los datos de la base de datos y luego es un puro javascript sin volver a ver la bd.

esto seria con numeros, pero como le pondria una barra de estas en javascript que va aumentando?

Etiquetas: barra, progreso
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 16:24.