Foros del Web » Programando para Internet » PHP »

Enlace a funcion

Estas en el tema de Enlace a funcion en el foro de PHP en Foros del Web. Hola otra vez. Me gustaría comentar un par de cosas relacionadas con la aplicación que estoy desarrollando (gestionar la biblioteca del colegio en que trabajo): ...
  #1 (permalink)  
Antiguo 25/10/2008, 17:21
Avatar de tangela  
Fecha de Ingreso: octubre-2004
Mensajes: 31
Antigüedad: 19 años, 6 meses
Puntos: 0
Enlace a funcion

Hola otra vez.
Me gustaría comentar un par de cosas relacionadas con la aplicación que estoy desarrollando (gestionar la biblioteca del colegio en que trabajo):
1.- Cuando realizamos un préstamo introduzco la fecha en la base de datos con la función current_date. Lo que quiero es introducir la fecha de devolución automáticamente sería algo así como "current_date + 7 días". ¿Cómo puedo calcular esto automáticamente?

2.- Después de varias verificaciones, llamo a una función "insertar()" con este link:
Código:
<a href="" onclick="<?php insertar();  ?>">Aceptar</a>
que realiza esta función
Código:
function insertar(){
$n_lector= $_SESSION["sesion_tarjeta"];
$n_libro=$_SESSION["ses_rexistro"];
$n_stock=$_SESSION["ses_stock"];
$n_stock=$_nstock-1;
$consulta="INSERT INTO prestamos( idprestamo, tarxeta, rexistro, data_prestamo, data_entrega, devolto )
VALUES ('','$n_lector',' $n_libro', current_date, 20081028, 0)"; 
$resultado=mysql_query($consulta) or die ("no se pudo insertar el registro");
mysql_close();
}
Esto va bien, pero necesito que después de insertar los datos del préstamo se llame a una funcion que actualiza el número de ejemplares disponibles, dato que está en otra tabla llamada libros.
El caso es que si llamo a otra función ya sea desde el interior de "insertar()" o desde el link
Código:
<a href="" onclick="<?php insertar(); actualizar()  ?>">Aceptar</a>
el dichoso enlace desaparece de la pantalla; en el archivo fuente esa línea está justo al final, antes de </body>.
Alguien tiene idea de por qué pasa eso?

Gracias a todos.
  #2 (permalink)  
Antiguo 25/10/2008, 17:58
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Enlace a funcion

No puedes llamar a funciones php desde enlaces. En todo caso puedes llamar a una función javascript que llame a la función php por medio de ajax.


Y lo de las fechas... Puedes guardar la fecha actual con la función time() y la de 7 días después con strtotime("+1 week"). Ambas devolverán un timestamp.

Para formatearlas usas date('d-m-Y', $variable_con_el_timestamp);

Saludos.
  #3 (permalink)  
Antiguo 26/10/2008, 04:55
Avatar de tangela  
Fecha de Ingreso: octubre-2004
Mensajes: 31
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Enlace a funcion

Gracias por tus comentarios:
Lo de las fechas lo estoy probando desde ya; el asunto de las funciones...
¿Cuál podría ser la solución?, porque lo que necesito, en realidad, es hacer dos consultas seguidas: Una inserta los datos del prestamo en una tabla y la otra hace un Update en una tabla distinta, dando al campo "disponibles" el valor "disponibles-1".

Saludos.
  #4 (permalink)  
Antiguo 26/10/2008, 09:40
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Enlace a funcion

Hola, puedes llamar una funcion dentro de otra funcion , esta clarisimo en la documentacion de php => functions

Ejemplo:
Código PHP:
<?php
function insertar() 
{
echo 
"insertando...";

  function 
actualizar() 
  {
    echo 
" actualizando...";
  }

}

//asi solo llamarias insertar();
?>
Pero puedes colocar tanto el código que insert y actualiza juntos. y crearias una sola funcion ejemplo "procesar();" ....

Saludos...
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #5 (permalink)  
Antiguo 26/10/2008, 09:48
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Enlace a funcion

Cita:
Iniciado por tangela Ver Mensaje
Gracias por tus comentarios:
Lo de las fechas lo estoy probando desde ya; el asunto de las funciones...
¿Cuál podría ser la solución?, porque lo que necesito, en realidad, es hacer dos consultas seguidas: Una inserta los datos del prestamo en una tabla y la otra hace un Update en una tabla distinta, dando al campo "disponibles" el valor "disponibles-1".

Saludos.
Puedes crear una pagina donde llames a dichas funciones, y poner un enlace hacia esa pagina.

Ah, una cosita mas ... ¿Estas usando InnoDB de MySQL? Seria mucho mejor para tu proposito, ya que si una de las dos consultas falla, se te descuadra el sistema. InnoDB es Transaction-Safe.
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 22:55.