Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/05/2007, 10:07
el-eles
 
Fecha de Ingreso: agosto-2005
Ubicación: Valencia
Mensajes: 76
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Evento onlick de un boton, funcion con window.alert...

Hola, en primer lugar no puedes llamar a una función PHP desde JavaScript sin usar un vehículo para ello. Ese vehículo es AJAX, pero eso es otra historia.

Lo que debes hacer es lo siguiente, para llamar a la funcion cuando pulses el boton deberás crear un formulario especifico para cada producto, le das un nombre comun y le añades mediante PHP el id del producto, asai tendrás un nombre único para tu formulario: name="formPedidos_2345".

Luego añades un campo tipo oculto para almacenar y enviar el id del producto para poder manejarlo: <input type='hidden' name='id_producto' value='".$id_producto."' />

Luego el boton llamará a la funcion Submit de javascript:

<input name='pedido' type='button' lang='es Spanish (Spain)' value='Pedir 5' onclick='document.formPedidos_".$id.".Submit()])'/>

Esto lo que hace es mandar el valor del campo oculto, con el id del producto cuando el usuario pulse en el botón del producto.

Código PHP:

...
...
while(
$datos=mysql_fetch_assoc($resultado)){ 
    echo 
"<form name="formPedidos_id" method="POST" action="actualizar.php"><tr><td><a href = ./detalle.php?id=".$datos["codigo"]." target=mainFrame>".$datos["nombre"]."</td><td>".$datos["marca"]."</td><td>".$datos["precio"]."</td><td>".$datos["stock"]."</td>";              
    echo 
"<td>
<input type='hidden' name='id_producto' value='$id_producto' />
<input name='pedido' type='button' lang='es Spanish (Spain)' value='Pedir 5' onclick='document.formPedidos_$id.Submit()])." 
/></td></tr></form>"; 
 } 

Luego hay que recoger y procesar esto:

Código PHP:
function Actualizar($cod$sto){ 
  
$stock_actual $sto 5
  
$update "update producto set stock = '".$stock_actual."' where codigo ='".$cod."' "
  
$res_update mysql_query($update); 
  echo 
"<script>window.alert('Se ha actualizado correctamente')</script>"
}

Actualizar($_POST['id_producto']); //Llamada a tu función 
Ahora le podrias pasar todos los parámetros que quisieras. Tendras que hacer una rutina para volver atras, o bien usando el header() o otros métodos para volver al volcado de la BD.

Suerte
__________________
Quien a buen árbol se arrima, buena sombra le cobija. :aplauso:

http://dbtrucos.com