Foros del Web » Programando para Internet » PHP »

Generador de sentencias sql

Estas en el tema de Generador de sentencias sql en el foro de PHP en Foros del Web. Alquien tendria alguna idea o algo de codigo hecho sobre como podria hacer un generador de sentencias sql en php??? Que te permita hacer consultas ...
  #1 (permalink)  
Antiguo 24/03/2004, 01:40
 
Fecha de Ingreso: diciembre-2003
Mensajes: 222
Antigüedad: 14 años
Puntos: 2
Generador de sentencias sql

Alquien tendria alguna idea o algo de codigo hecho sobre como podria hacer un generador de sentencias sql en php??? Que te permita hacer consultas sobre varias tablas por separado y al mis mo tiempo, y sacar listas....

Agradezco cualquier tipo de aportacion o idea
  #2 (permalink)  
Antiguo 24/03/2004, 03:17
 
Fecha de Ingreso: enero-2004
Mensajes: 13
Antigüedad: 13 años, 11 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;
}
  #3 (permalink)  
Antiguo 24/03/2004, 06:03
 
Fecha de Ingreso: diciembre-2003
Mensajes: 222
Antigüedad: 14 años
Puntos: 2
Pues la verade s que si que me sirve de algo, as por lo menos se por donde van los tiros. Muchas gracias
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 10:08.