Autor Tema: Bolsa de acciones en AJAX  (Leído 2009 veces)

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Bolsa de acciones en AJAX
« en: 20 de Febrero de 2008, 18:46:59 pm »
Bueno pues aquí estamos... otro tuto más, que me puesto a programar antes de ponerme a estudiar para el examen... manias mias jajajja

Pues bueno empezemos...

Seguro que os abreis preguntado como hacer una pagina Web que cambiara unos pequeños numerillos de toda la pagina o "chorraditas" de estas jejeje

Empezamos con el index.php


<html>
<
head>
<
style>
.
titulo {
	
font-family:VerdanaArialHelveticasans-serif;
	
color:#990000;
	
font-size:24px;
}

.
titulo_ac {
	
font-family:VerdanaArialHelveticasans-serif;
	
color:#990000;
	
font-size:14px;
	
font-weight:bold;
}

.
titulo_sec {
	
font-family:ArialHelveticasans-serif;
	
color:#333333;
	
font-weight:bold;
}

td {
	
border:thin solid #000000;
}

body {
	
font-family:ArialHelveticasans-serif;
	
font-size:12px;
}
</
style>
<
script language="javascript" type="text/javascript">
//ESTA PARTE ES LA MÁS USUAL DE LOS CODIGOS AJAX Y LA MÁS NECESARIA QUE ES LA QUE NOS PERMITIRA CONTACTAR CON EL SERVIDOR EN TODO MOMENTO
function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(
err1) {
  try {
  
req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (
err2) {
    try {
    
req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (
err3) {
      
req false;
    }
  }
}
return 
req;
}

var 
http getXMLHTTPRequest();
//Creamos la función que llamara a la pagina para que nos devuelva los valores el servidor
function refrescar_acciones() {
  var 
pagina = &#39;script_server.php&#39;;
  
al parseInt(Math.random()*999999999999999);
  var 
pagina_entera pagina+"?aleatorio="+al;
  
http.open("GET"pagina_enteratrue);
  
http.onreadystatechange dar_acciones;
  
http.send(null);
}

function 
dar_acciones() {
   if (
http.readyState == 4) {
    if(
http.status == 200) {
	
	


	
	
for(
id=1;id<=5;++id){ //Creamos un bucle para colocar los datos en sus respectivas celdas
	
	
	
var 
acciones http.responseXML.getElementsByTagName("porcentaje")[id-1]; //sacamos el valor de la etiqueta porcentaje del document XML que nos envia el servidor y le restamos 1 porque al igual que con los arrays este empieza siempre por 0
	
	
	
document.getElementById(&#39;porcentaje&#39;+id).innerHTML = acciones.childNodes[0].nodeValue+&#39; %&#39;;
                           
                           //Aquí nos encargaremos de mostrar una imagen u otra segun el porcentaje de la acción de bolsa

	
	
	
	
if(
acciones.childNodes[0].nodeValue>0){
	
	
	
	
	
document.getElementById(&#39;imagen&#39;+id).innerHTML = &#39;<div align="center"><img height="9" width="9" src="arriba.gif"></div>&#39;;
	
	
	
	
} else if(
acciones.childNodes[0].nodeValue<0){
	
	
	
	
	
document.getElementById(&#39;imagen&#39;+id).innerHTML = &#39;<div align="center"><img height="9" width="9" src="abajo.gif"></div>&#39;;
	
	
	
	
} else {
	
	
	
	
	
document.getElementById(&#39;imagen&#39;+id).innerHTML = &#39;&#39;;
	
	
	
	
}
	
	
	
	
	

	
	
}

    }
  }
}


setInterval("refrescar_acciones()"3000); //Le decimos que se encarge de refrescar las acciones cada 3 minutos
</script>
</head>
<body onload="refrescar_acciones()">
<table width="550" border="0" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr>
    <td height="61" colspan="3"><div class="titulo" align="center">Simple ejemplo de acciones en bolsa<font size="1"><br />(Usando AJAX)</font></div></td>
  </tr>
  <tr>
    <td height="26" colspan="3" valign="middle"><div align="center" class="titulo_ac">Acciones</div></td>
  </tr>
  <tr>
    <td width="332" height="35" valign="middle" class="titulo_sec">Nombre</td>
  <td width="114" valign="middle" class="titulo_sec"><div align="center">Porcentaje </div></td>
  <td width="104" class="titulo_sec"><div align="center">Imagen</div></td>
  </tr>
  <tr>
    <td height="30" valign="middle"><font color="#000066">Timof&oacute;nica</font></td>
    <td valign="middle" id="porcentaje1"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td valign="middle" id="imagen1"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
  <tr>
    <td height="30" valign="middle"><font color="#000066">Estafat&oacute;nica</font></td>
    <td valign="middle" id="porcentaje2"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td valign="middle" id="imagen2"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
  <tr>
    <td height="30" valign="middle"><font color="#FF0000">Estafafone</font></td>
    <td valign="middle" id="porcentaje3"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td valign="middle" id="imagen3"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
  <tr>
    <td height="30" valign="middle">Pijital Plus</td>
    <td valign="middle" id="porcentaje4"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td valign="middle" id="imagen4"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
  <tr>
    <td height="30" valign="middle"><font color="#006600">Fanatik Soccer</font></td>
    <td valign="middle" id="porcentaje5"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td valign="middle" id="imagen5"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
</table>
</body>
</html>


Creamos el scrip_server.php


<?
header(&#39;Content-Type: text/xml&#39;); //ponemos la cabezera para que lo muestre como XML
echo "<?xml version=\"1.0\"?>
<acciones>"
//indicamos version de XML y abrimos primera etiqueta

	
for(
$acciones=1;$acciones<=5;++$acciones){ //creamos un bucle
	
	
echo
"<porcentaje>".(rand(-1000,1000)/100)."</porcentaje>"//cremos los numeros aleatorios que mostrara el la pagina, la etiqueta porcetaje sirve para que tengamos una referencia luego a la hora de buscarla
	
}

echo
"</acciones>"//cerramos la etiquita acciones
?>


FIN!
Siento haver sido breve con las explicaciones, ya que no ando bien de tiempo... Si hay dudas comentarlas en el post.

Un saludo! ;)

Ejemplo On-line
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Comunidad PHPeros

Bolsa de acciones en AJAX
« en: 20 de Febrero de 2008, 18:46:59 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: Bolsa de acciones en AJAX
« Respuesta #1 en: 20 de Febrero de 2008, 20:39:08 pm »
Me gusta, me a encantado.
Te doy un karma.
Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: Bolsa de acciones en AJAX
« Respuesta #2 en: 20 de Febrero de 2008, 20:40:10 pm »
Muahah! Estaba esperando un tuto parecido! Karka +!
Saludos!  :)


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Bolsa de acciones en AJAX
« Respuesta #3 en: 20 de Febrero de 2008, 21:41:47 pm »
Gracias por los karmas ;)
La verdad es que tenia pensado hacerlo desde hace mucho tiempo y hoy me dio la venada y me puse en un rato y lo hice porque me parecio util ya que la gente puede tomarlo como ejemplo y hacer sus codigos parecidos :P

Espero que con esto haya quedado claro como usar AJAX generando un archivo XML con PHP y que os animeis a hacer codigos y hacer algunos tutos que no es tan dificil como parece :P
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re: Bolsa de acciones en AJAX
« Respuesta #4 en: 20 de Febrero de 2008, 22:29:04 pm »
con esto se podria acer k al darle al link cmabiaran todas lass imagenes?
Intentaré acerlo

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Bolsa de acciones en AJAX
« Respuesta #5 en: 21 de Febrero de 2008, 00:34:57 am »
westwest para eso no te hace falta AJAX... con JS tienes de sobras ;)
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re: Bolsa de acciones en AJAX
« Respuesta #6 en: 21 de Febrero de 2008, 15:06:55 pm »
joder xD, = intentaré

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Bolsa de acciones en AJAX
« Respuesta #7 en: 21 de Febrero de 2008, 17:08:54 pm »
Suerte ;)
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: Bolsa de acciones en AJAX
« Respuesta #8 en: 17 de Marzo de 2008, 20:21:33 pm »
Justo esto queria hacer yo con php xD de Ajax no entiendo ni pio... pero se ve bueno.. +karma

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: Bolsa de acciones en AJAX
« Respuesta #9 en: 18 de Marzo de 2008, 00:57:57 am »
Gracias por el karma ;)
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado Christian26

  • PHPerit@
  • *
  • Mensajes: 9
  • Karma: 0
    • Ver Perfil
Re: Bolsa de acciones en AJAX
« Respuesta #10 en: 05 de Febrero de 2009, 22:13:21 pm »
Explicame como funciona :P porfavor