Comunidad de diseño web y desarrollo en internet online

Concurrencia Via Web

Citar            
MensajeEscrito el 13 Sep 2009 02:45 pm
Buenos días, me han encargado en la universidad hacer un sistema para ventas de pasajes via web, y sucede que tengo una duda, al momento que un usuario X, del Sistema Web, lista todos los pasajes disponibles, para seleccionar uno, mientras esta pensando cual elegir, (teniendo en cuenta que solo queda un pasaje), otro usuario elegi ese pasaje
como puedo hacer para que cuando el otro usuario que eligio ese pasaje (el unico que quedaba), se le avise a este usuario X que ya no esta disponible este pasaje y de manera amigable...

Por juan_gv

108 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Sep 2009 04:38 pm
Puedes utilizar un cuadro (div) en donde utilizando AJAX le indiques que cada 10 segundos, por ejemplo, realice una consulta para poder averiguar el estado de los lugares disponibles en caso de que alguno estuviera ocupado tu script AJAX muestra un mensaje o bien bloquea el o los lugares que estaban disponibles.

Puedes utilizar AJAX de esta forma, en tu archivo PHP debes realizar un echo para que los valores sean capturados por AJAX


Código Javascript :

<script type="text/javascript">
    function getXMLHttpRequest(){
      var Versiones = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp","Microsoft.XMLHttp"];
      if (window.XMLHttpRequest){
         return new XMLHttpRequest();
      }
      else if(window.ActiveXObject){
         for(var i = 0; i < Versiones.length; i++){
            try{
               var oXmlHttp = new ActiveXObject(Versiones[i]);
               return oXmlHttp;
            }
            catch(error){
                                   
            }
         }
      }
   }
                        
   function Ejecutar(){
      var Pagina_Solicitada = getXMLHttpRequest();           
                      
      Pagina_Solicitada.open ('get', 'test.php?Dato=asiento', true);
      Pagina_Solicitada.onreadystatechange = function(){
         if (Pagina_Solicitada.readyState == 4){
            if((Pagina_Solicitada.status == 200 || window.location.href.indexOf ("http") == - 1)){            
               var Retorno = Pagina_Solicitada.responseText;
                                                                   
               // Tu Accion al cargar los nuevos valores
               alert(Retorno);         
            }
         }
      }
                     
      Pagina_Solicitada.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      Pagina_Solicitada.send(null);
                  
      // Tiempo que transcurre desde que se debe ejecutar nuevamente la consulta
      setTimeout("Ejecutar()", 7200);                      
   }
            
   Ejecutar();
</script>


En la función Ejecutar inclui un Alert() para que puedas realizar una prueba, solo modifica el archivo al que necesitas realizar la consulta.

Cualquier duda puedes preguntar e intentaremos ayudarte.

Saludos

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 14 Sep 2009 01:34 am
es tan fácil como validar antes de insertar el dato, osea, haces una llamada a la DB para ver si el pasaje esta vendido, en caso de que no este vendido compras el pasaje y en caso contrario le mandas un mensaje al usuario diciéndole (textualmente con estas palabras por que si no no te funciona)



" me rio en tu cara, lo pensaste mucho y otro compro el pasaje antes que tu ja-ja-ja"

ojo, vas a tener que hacer 2 consultas por separado.

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.