Muchas veces cuando vamos a crear proyectos con PHP y MySQL usamos muchas tables y regularmente recurrimos a escribir el comando SQL para crear la tabla. La Siguiente funcion nos creara el SQL para crear la Tabla apartir de un array , ejemplo :
CREATE TABLE usuarios(id int not null auto_increment primary key, username varchar(100),password varchar(40))
La base de la funcion se basara en dos cosas : un array asociativo y la funcion foreach de php, empezemos con nuestro php :
Lo primero que necesitamos sera contar los elementos del array, para ello crearemos la funcion contar(array) :
function contar($asocarray){
$elementos = 0;
foreach($asocarray as $k => $v){
$elementos++;
}
return $elementos;
}
Ahora continuamos con la funcion CrearTablaSQL($nombretabla,$arraytabla) que sera la que nos devolvera una cadena con el SQL para crear la tabla :
function CrearTablaSQL($nombretabla,$arraytabla){
/// seccion1
$elementos = contar($arraytabla);
$sqltabla = "CREATE TABLE $tablename(";
/// seccion 2
$contador=0;
foreach($arraytabla as $clave => $tipo){
$sqltable .= "$clave $tipo";
if($contador<$elementos-1){
$sqltabla .=",";}
$contador++;
}
/// seccion 3
$sqltabla .= ")";
return $sqltabla;
}
La funcion esta dividida en 3 secciones la primera seccion definimos el numero de elementos en el array de las tablas, este sera necesario para saber cuando vamos a poner las comas que separaran cada token, se inicia la variable sqltabla que contendra nuestro resultado final.
En la seccion 2 recorremos cada elemento del array y con el if vamos a ir agregando comas mientras el elemento del array no sea el ultimo.
En la seccion 3 terminamos agregamos la cadena final a sqltabla y devolvemos el valor, asi un scrip terminado sera :
<?php
function contar($asocarray){
$elementos = 0;
foreach($asocarray as $k => $v){
$elementos++;
}
return $elementos;
}
function CrearTablaSQL($nombretabla,$arraytabla){
/// seccion1
$elementos = contar($arraytabla);
$sqltabla = "CREATE TABLE $nombretabla(";
/// seccion 2
$contador=0;
foreach($arraytabla as $clave => $tipo){
$sqltabla .= "$clave $tipo";
if($contador
Al ejecutar el codigo PHP obtendremos :
Listo , a facilitarnos la vida


