![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
24/03/2004, 03:17
|
| | Fecha de Ingreso: enero-2004
Mensajes: 13
Antigüedad: 21 años, 1 mes Puntos: 0 | |
Yo en su momento hice una funcion para crear sentencias SQL que recibia 2 o 3 parametros:
- Un array con las columnas que querias seleccionar
- el nombre de la tabla sobre la que actuar
- Un tercer parámetro opcional para añadir la opcion where. Se recibian en forma de matriz
Si te sirve de ayuda, pues genial, y sino pues nada xD
function CreaSQL()
{
$num_arg = func_num_args();
$arg_lista = func_get_args();
if ($num_arg != 2 && $num_arg != 3)
{
echo "Error CreaSQL(): numero de parametros incorrecto";
exit(1);
}
$columnas[0] = "*";
$i = 0;
/*copiamos la cadena de entrada a nuestro array local*/
while ($arg_lista[0][$i] != '')
{
$columnas[$i] = $arg_lista[0][$i];
$i++;
}
/**construimos la cadena de columnas, con sus ',' **/
$colum = $columnas[0];
for($n = 1; $n < $i; $n++)
{
$colum = $colum.",".$columnas[$n];
}
$sql = "SELECT ".$colum." FROM ".$arg_lista[1];
if ($num_arg == 2)
{
$sql = "SELECT ".$colum." FROM ".$arg_lista[1].";";
}
if ($num_arg == 3)
{
$where = $arg_lista[2][0];
/**construimos la cadena de sentencias where, si fuera necesaria**/
$m = 1;
while ($arg_lista[2][$m] != '')
{
$where = $where." and ".$arg_lista[2][$m];
$m++;
}
$sql = "SELECT ".$colum." FROM ".$arg_lista[1]." WHERE (".$where.");";
}
return $sql;
} |