Cita:
Iniciado por cacr Saludos
¿es posible que una función en pltcl reciba una variable de php?
Hola cacr, por supuesto que es factible, te paso un ejemplo:
- Función pl/Tcl
Código tcl:
Ver originalCREATE OR REPLACE FUNCTION tcl_max(integer, integer)
RETURNS integer AS
$BODY$
if {[argisnull 1]} {
if {[argisnull 2]} { return_null }
return $2
}
if {[argisnull 2]} { return $1 }
if {$1 > $2} {return $1}
return $2
$BODY$
LANGUAGE pltcl VOLATILE
COST 100;
ALTER FUNCTION tcl_max(integer, integer) OWNER TO postgres;
Esta función lo que hace es comprobar que número es mayor, como puedes ver recibe dos enteros. - Código PHP:
Código PHP:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
// put your code here
$conn = pg_connect("host=localhost port=5432 dbname=prueba user=tuUsuario password=tuContraseña"); $var1 = 40; //Parámetro uno.
$var2 = 30; //Parámetro dos.
if($conn)
{
$qry = pg_query($conn, "select tcl_max(".$var1.",".$var2.");"); if($qry)
{
echo "<h1>".$elementos[0]."</h1>";
}
}
?>
</body>
</html>
En la base de datos "prueba" he creado la función tcl_max que lo saqué de la siguiente página:
http://www.pgadmin.org/docs/1.6/pg/pltcl-functions.html.
En PHP establezco la conexión a la base de datos , ejecuto la consulta pasando los valores $val1 y $val2 a la función pl/tcl, que me traiga el resultado y lo muestre en la página.
Me faltó cerrar la conexión y liberar la query, pero eso estoy seguro que lo sabes hacer, sino, me avisas y lo publico, no lo hice por vago
Un cordial saludo.