Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/03/2004, 03:17
aletmp
 
Fecha de Ingreso: enero-2004
Mensajes: 13
Antigüedad: 20 años, 3 meses
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;
}