Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
validar cantidad de producto con ajax

Buenos dias compañeros tengo el siguiente problema, quiero validar en un form que cuando un usuario eliga un producto al poner la cantidad del producto que quiera la pagina verifique en la base de datos si la cantidad tecleada es menor o igual al stock, lo quiero hacer con ajax, pero por mas que busco en foros y foros no encuentro ni una pista de como lograrlo, alguien me puede dar una manita de antemano gracias por cualquier comentario
Responder Con Cita
  #2  
Antiguo 12-01-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si no sabes lo que es el objeto XMLHttpRequest, en este artículo de la Wikipedia se explica más o menos. Para trabajar con este objeto, personalmente, desde que descubrí jQuery no he descubierto cosa mejor. Con jQuery puedes tratar con el objeto susomentado de forma transparente y bastante sencilla. Tienes cierta documentación de jQuery en Visual jQuery. Fíjate que hay un apartado dedicado a "AJAX". Si tienes algún problema avisa.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 13-01-2008
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
yo uso esta libreria, es bastante fácil para lo que necesitas:
http://www.marciobarrios.com/ejemplo-ajax

básicamente lo que tienes que hacer es que tu página validadora (existe esa palabra?) escriba un valor cualquiera (puede ser por ejemplo 1 si hay stock o 0 si no lo hay) leer ese valor y obrar según sea necesario


saludos
__________________
self.free;
Responder Con Cita
  #4  
Antiguo 14-01-2008
jfontane jfontane is offline
Miembro
 
Registrado: may 2003
Posts: 60
Poder: 21
jfontane Va por buen camino
Cualquier cosa pone algo de codigo para ver cual es el problema que tenes. Es dificil arrancar pero despues uno se acostumbra con el ajax.
Lo que estas planteando no es muy complicado asi que esperamos que expongas algo para poder ayudarte.


salu2
Responder Con Cita
  #5  
Antiguo 14-01-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
gracias jfontane espero y me acostumbre rapido y pronto es pondre algun avamce
Responder Con Cita
  #6  
Antiguo 14-01-2008
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
Cita:
Empezado por richy08 Ver Mensaje
lo quiero hacer con ajax, pero por mas que busco en foros y foros no encuentro ni una pista de como lograrlo, alguien me puede dar una manita de antemano gracias por cualquier comentario
Hace unos días puse un pequeño ejemplo, sólo tendrías que adaptarlo un poco olvidándote del HTML que contiene, dejando los scripts y hacer algo así...

Código PHP:
<input type="text" name="cantidad" onkeyup="stock(this.value)"
La función stock() lanzaría el objeto Ajax, luego sólo es cuestión de colocar un letrerillo que diga "No hay stock" en caso de sobrepasarlo.

También podrías hacerlo sin Ajax si puedes recoger el valor del stock al realizar la consulta para mostrar los artículos, simplemente comprobando si el valor de text es mayor que el valor guardado en un campo oculto.

Yo creo que eso lo puedes hacer de muchas formas.
__________________
Saludos
Emilio
Responder Con Cita
  #7  
Antiguo 17-01-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
buenos dias compañeros debido al poco tiempo libre que tengo me tarde en contestar pero aqui tengo un ejemplo que baje de la web que trate de adaptar como dios me dio a entender expongo el codigo para ver si alguien me puede ayudar con el error estuve tratandolo de corre con una libreria 0.5 beta pero debido a que me marcaba un error al querer mandar llamar este metodo $xajax->processRequests(); opte por usar una libre ria mas vieja que es estable que es la 2.0.3 el codigo es el siguiente
Código PHP:
<?php
require ('xajax/xajax.inc.php');
?>

<?php
//conecto con la base de datos
$connectid mysql_connect("localhost""root""") OR die(mysql_error());
mysql_select_db("companyweb");
function 
validar_pais($nombre_pais)
{
   if (
strlen($nombre_pais)<2)
   {
      
$campo_validacion "Debes escribir al menos dos letras del campo país.";
   }else
    {
      
$ssql "select * from sitiempleados where sFirstName like '%$nombre_pais%'";
      echo 
$ssql;
      
$rs mysql_query($ssql);
      if (
mysql_num_rows($rs)==0)
      {
         
$campo_validacion "No he encontrado países con ese nombre";
      }else
       {
         
$campo_validacion "<i>Se encontraron " mysql_num_rows($rs) . " posibles países.</i>";
         
$campo_validacion .= '<div style="margin:3px;">';
         while (
$fila mysql_fetch_object($rs))
         {
            
$campo_validacion .= "<a style='cursor:pointer;text-decoration:underline; color:#0000ff;' onclick='selecciona_pais(\"" $fila->nombre_pais "\");'>";
            
$campo_validacion .= $fila->nombre_pais '</a><br>';
         }
         
$campo_validacion .= '</div>';
      }
   }
   
$campo_validacion '<div style="border: 2px solid #0000cc; font-size: 8pt; padding:5px; margin-top:10px; width: 300px;">' $campo_validacion '</div>';
   
$respuesta = new xajaxResponse();
   
$respuesta->addAssign("validador_pais","innerHTML",$campo_validacion);
   return 
$respuesta;
}

function 
procesar_formulario($formulario)
{
   
$respuesta = new xajaxResponse();
   if (!isset(
$formulario["nombre_validado"]))
   {
      
$respuesta->addAssign("validador_pais","innerHTML",'<div style="border: 2px solid #cc0000; font-size: 8pt; padding:5px; margin-top:10px; width: 300px;">Tienes que validar el país.</div>');
   }else{
      
$respuesta->addAssign("todo_formulario","innerHTML",'Todo correcto!');
   }
   return 
$respuesta;
}

//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
//$xajax->debugon()

//registramos funciones
$xajax->registerFunction("validar_pais");
$xajax->registerFunction("procesar_formulario");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
 
 

<html>
<head>
   <title>Validador campo formulario online</title>
   <?php
   
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
   
$xajax->printJavascript("xajax/");
   
?>
   <script>
   function selecciona_pais(nombre){
      document.f1.nombre_pais.value=nombre
      document.getElementById("validador_pais").innerHTML='<div style="border: 2px solid #00cc00; font-size: 8pt; padding:5px; margin-top:10px; width: 300px;">Validado correctamente</div>';
      document.getElementById("input_pais").innerHTML='<input type="hidden" name="nombre_validado" value="' + nombre + '">' + nombre
   }
   </script>
</head>
<body style="font-family: arial, verdana;">
<div id="todo_formulario">
   <form action="#" method="post" name="f1" id="f1">
   <div id="input_pais">
      Nombre país: <input type="text" name="nombre_pais"> <a style='cursor:pointer;text-decoration:underline; color:#0000ff;' onclick="xajax_validar_pais(document.f1.nombre_pais.value);">Validar pais</a>
   </div>
   <div id="validador_pais"></div>
   <p>
   Año de visita: <input type="text" name="ano" size="8">
   <p>
   <input type="button" onclick="xajax_procesar_formulario(xajax.getFormValues('f1'))" value="Enviar">
   </form>
</div>
<?php
?>
</body>
</html>
con la nueva libreria me dejo de marcar el error no se por que pero ahora me tira el siguiente error alguien me puede decir por que de antemano gracias
---------------------------
Microsoft Internet Explorer
---------------------------
Error: the server returned the following HTTP status: 404
Received:
No input file specified.
---------------------------
OK
---------------------------
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comprobar en un while not eof si tiene stock un producto Petolansa Varios 13 12-12-2007 07:05:11
Capturar la Version del producto andresenlared Varios 3 27-02-2007 21:07:35
Producto agotado... Osorio Humor 0 08-02-2006 23:44:10
Como Cambiar Una Cantidad Numerica En Una Cantidad En Letra AdIIX Varios 3 28-04-2005 21:45:23
Delphi 8 Es Un Mal Producto ? Markos Debates 8 29-07-2004 10:22:59


La franja horaria es GMT +2. Ahora son las 14:47:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi