Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Instalador SQL mediante PHP

Bueno trabajando en un proyecto me pidieron un install para instalar su base de datos sql, lo dej aquí por pasos por si alguien le interesa:

1.la conexion.php ( archivo donde se conecta a nuestra base datos)
<?php 
if (!isset($_SESSION)) {
  session_start();
}
//CONEXION BASE DATOS
$hostname_db = "localhost"; 
$database_conexion = "nombre_de_tu_base_de_datos"; 
$username_db = "root";
$password_db = "";
//CONECTAR A LA BASE DE DATOS
$conexion = mysqli_connect($hostname_db, $username_db, $password_db);
//SELECCIONAR LA BASE DE DATOS
mysqli_select_db($conexion,$database_conexion) or die ("Ninguna base de datos seleccionada");
?>
2.creamos una carpeta install y dentro de ella creamos nuestro index.php
<?php require_once('../conexion.php');?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Install</title>
<link rel="stylesheet" type="text/css" href="styleinstall.css" />
</head>
<body>
<div class="titulo">Herogames Instalador</div>
<div class="contenido">Gracias por comprar Herogames. A continuaci&oacute;n puede elegir Instalar o Actualizar. Si a&uacute;n no lo ha hecho, debe modificar <b>conexion.php</b> para reflejar los detalles de su base de datos.
<div class="noticias">Si est&aacute; actualizando, es importante que realice una copia de seguridad de la base de datos antes de continuar</div>
<div class="enlacesnew">
<a href="new/index.php">Nueva instalaci&oacute;n</a>
</div>
</div>
</body>
</html>
3.incluyo la hoja de estilo para darle un poco de formato al instalador, esto va al gusto del consumidor :)
body {background:#333;font-family: Verdana, sans-serif;}
.titulo {width:880px;margin:auto;background-color: #ffffff;background: #eeeeee -webkit-linear-gradient(#cbcbcb 0%, #eeeeee 100%);padding:10px;margin-top:100px;border-top-left-radius: 5px;border-top-right-radius: 5px;border-bottom: 1px solid #dedede;}
.contenido {width:880px;margin:auto;background-color:#FFF;padding:10px;border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;}
.noticias {color:#2980b9;font-size:16px;text-align:center;margin:20px;font-weight:bold;}
.enlacesnew {text-align:center;font-size:20px;}
.enlacesnew a{color:#F00;text-decoration: none;}
.enlacesnew a:hover{color:#2980b9;text-decoration: none;}
4. en el index tengo un enlace que va a las primeras instalaciones, creamos la carpeta new dentro de install y posteriormente su index.php donde ejecuta el codigo:
<?php require_once('../../conexion.php'); ?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Nueva Instalaci&oacute;n</title>
</head>
<body>
<?php 
// CREANDO TABLAS EN EL SERVIDOR(BASE DE DATOS MySQL)
$sql = array();
$sql[1] = "CREATE TABLE `hs_ajustes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `plantilla` int(11) NOT NULL,
  `idioma` varchar(100) COLLATE latin1_spanish_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;";

$sql[2] = "CREATE TABLE `hs_backup` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fecha` date NOT NULL,
  `hora` time NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;";

$sql[3] = "CREATE TABLE `hs_users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(100) COLLATE latin1_spanish_ci NOT NULL,
  `password` varchar(100) COLLATE latin1_spanish_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;";

for ($i=1; $i<=3; $i++)
{
$q = mysqli_query($conexion, $sql[$i]) or die('No se pudo ejecutar la consulta sql: '.$i.''.mysqli_error($conexion));
}
echo '<div class="em">Tablas creadas correctamente en su base de datos</div>';
?>
</body>
</html>
automaticamente se crean las tablas en la base de datos.
POSTADA :esto es un simple scripts donde podemos añadir que cuando se ejecuta vuelva al index principal fuera de la carpeta new.
POSDATA1 :para insertar datos en la secuencia CREATE TABLE se cambiará por INSERT INTO y acontinuación el esquema de dicha columna. tambien podemos actualizar datos es un pequeño ejemplo para poder hacer tu propio install, espero haberle ayudados
2
Puntos
1419
Visitas
3
Resp
Por Dannus hace 89 meses
Avanzado
Respuesta #1
muy buena esa, sencillo y para toda la familia! salu2
0
Puntos
Por alber hace 89 meses
Administrador
Respuesta #2
Aqui os paso mi instalador personal con cambios para añadir la primera vez el user admin, página web, url ect..

paso 1

paso 2

paso 3

datos subidos correctos

http://www.mediafire.com/file/fdkte6k5g5frd1n/install.rar

pass del install: datoweb
2
Puntos
Por Dannus hace 89 meses
Avanzado
Respuesta #3
Solo es un ejemplo base, solo tienen que adaptar datos de tu sql para que funcione ademas esta basado en mysqli.
1
Puntos
Por Dannus hace 89 meses
Avanzado
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate