[PHP] Funcion Para crear SQL de Tabla Para MySQL

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 😉

Related Posts Plugin for WordPress, Blogger...

publicidad

Deja una respuesta

Tu dirección de correo electrónico no será publicada.