PHP: ¿Cómo creo una tabla sql en línea, usando php?
De Foros del Web
Su funcionamientos es bastante simple, ya que consta de un Formulario y la parte donde ejecutara la consulta simulando un mini phpMyAdmin, pero mucho mas sencillo. La razón de este manual es por que cuando empezaba a aprender este lenguaje (PHP), no sabia como ejecutar una, y por esa razón creo que aun debe haber varios con ese problema, esperando que de alguna manera esto le pueda servir a alguien. Empezaremos creando nuestro formulario que contendrá lo siguiente,
Código HTML:
<html> <head> <title>Crear Tabla En Línea</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> BODY { COLOR: #333333; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 9pt;} INPUT {FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px; BACKGROUND-COLOR: #D8D8C4;} TEXTAREA {FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px; BACKGROUND-COLOR: #D8D8C4;} </style> </head> <body> <form action="tabla.php" method="post"> <table border="0" align="center"> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Servidor</b></font> </td><td><input type='text' name='host' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Usuario</b></font> </td><td><input type='text' name='user' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Contraseña</b></font> </td><td><input type='password' name='pass' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Base de Datos</b></font> </td><td><input type='text' name='dbnombre' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>SQL *</b></font> </td><td><textarea name='sql' rows=15 cols=60 value=''></textarea></td> </tr> </table> <center><input type="hidden" name="install" value="1"><input type="submit" value="Crear Tabla"><br><br> <font face="verdana" size="-2" color="#333333">* Ejecutar una Tabla cada ves</font> </center> </form> </body> </html>
Aquí pondremos los datos para conectarnos con nuestra base de datos y nuestra tabla, debemos notar que lleva un campo oculto (hidden) el cual determinara si debe o no ejecutarse la consulta sql, tal y como se ve en la foto:
Este es el contenido del script, el cual debes guardar como tabla.php Código PHP:
<?php //Enviamos las variables por metodo post y usamos los arrays superglobales $_POST $install = $_POST['install']; $host = $_POST['host']; $user = $_POST['user']; $pass = $_POST['pass']; $dbnombre = $_POST['dbnombre']; $sql = $_POST['sql']; if($install == 1){// Igual a 1 ejecutamos la consulta, si no muestro el formulario //Conecto con la DB $conexion = mysql_connect($host,$user,$pass); if (!@mysql_select_db($dbnombre)){ echo ("Imposible Conectar"); exit(); } //Quito las comillas $sql = str_replace("`", "", $sql); $sql = str_replace("\\", "", $sql); if(!@mysql_query($sql,$conexion)){//Ejecuto la consulta y creamos la Tabla echo "Error: ".mysql_error(); } else { $sql = nl2br($sql); //Finalmente Imprimo la Tabla y envio un mensaje de exito $formulario2 = <<<EOF <html> <head> <title>Crear Tabla En Línea</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> BODY { COLOR: #333333; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 9pt;} INPUT {FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px; BACKGROUND-COLOR: #D8D8C4;} TEXTAREA {FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px; BACKGROUND-COLOR: #D8D8C4;} </style> </head> <body> <center><B>La Tabla ha sido creada con éxito</B></center> $sql </body> </html> EOF; echo $formulario2; } } else { $formulario = <<<EOF <html> <head> <title>Crear Tabla En Línea</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> BODY { COLOR: #333333; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 9pt;} INPUT {FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px; BACKGROUND-COLOR: #D8D8C4;} TEXTAREA {FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px; BACKGROUND-COLOR: #D8D8C4;} </style> </head> <body> <form action="tabla.php" method="post"> <table border="0" align="center"> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Servidor</b></font> </td><td><input type='text' name='host' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Usuario</b></font> </td><td><input type='text' name='user' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Contraseña</b></font> </td><td><input type='password' name='pass' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>Base de Datos</b></font> </td><td><input type='text' name='dbnombre' value=''></td> </tr> <tr> <td> <font face="verdana" size="-2" color="#333333"><b>SQL *</b></font> </td><td><textarea name='sql' rows=15 cols=60 value=''></textarea></td> </tr> </table> <center><input type="hidden" name="install" value="1"><input type="submit" value="Crear Tabla"><br><br> <font face="verdana" size="-2" color="#333333">* Ejecutar una Tabla cada ves</font> </center> </form> </body> </html> EOF; echo $formulario; } ?>
--Vic_mx 09 Jun 2004
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
