Foros del Web » Programando para Internet » PHP »

Consulta como

Estas en el tema de Consulta como en el foro de PHP en Foros del Web. Como puedo ejecutar esta consulta de forma que me cree las tablas si no existen. El contenido de las tablas es el siguiente: Código PHP: ...
  #1 (permalink)  
Antiguo 17/01/2004, 16:13
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Consulta como

Como puedo ejecutar esta consulta de forma que me cree las tablas si no existen. El contenido de las tablas es el siguiente:

Código PHP:
 # phpMyAdmin SQL Dump
# version 2.5.4
# [url]http://www.phpmyadmin.net[/url]
#
# Servidor: localhost
# Tiempo de generación: 17-01-2004 a las 15:35:09
# Versión del servidor: 4.0.16
# Versión de PHP: 4.3.4

# Base de datos : `reynierpm_es_db`


# --------------------------------------------------------

#
# Estructura de tabla para la tabla `descargas`
#

DROP TABLE IF EXISTS `descargas`;
CREATE TABLE `descargas` (
  `
idint(5unsigned NOT NULL auto_increment,
  `
titulovarchar(150NOT NULL default '',
  `
descripcionvarchar(250NOT NULL default '',
  `
direccionvarchar(250NOT NULL default '',
  `
autorvarchar(30) default NULL,
  `
ecorreoautorvarchar(250) default NULL,
  `
publicadosmallint(1NOT NULL default '0',
  `
cantidaddescargassmallint(5unsigned default '0',
  
PRIMARY KEY  (`id`),
  
UNIQUE KEY `id` (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Volcar la base de datos para la tabla `descargas`
#


# --------------------------------------------------------

#
# Estructura de tabla para la tabla `directoriositios`
#

DROP TABLE IF EXISTS `directoriositios`;
CREATE TABLE `directoriositios` (
  `
idint(5unsigned NOT NULL auto_increment,
  `
categoriavarchar(50NOT NULL default '',
  `
titulovarchar(150NOT NULL default '',
  `
descripciontext NOT NULL,
  `
urlvarchar(200NOT NULL default '',
  `
publicadoint(1unsigned NOT NULL default '0',
  `
cantidadvisitastinyint(5NOT NULL default '0',
  
PRIMARY KEY  (`id`),
  
UNIQUE KEY `id` (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Volcar la base de datos para la tabla `directoriositios`
#


# --------------------------------------------------------

#
# Estructura de tabla para la tabla `frases`
#

DROP TABLE IF EXISTS `frases`;
CREATE TABLE `frases` (
  `
idint(5unsigned NOT NULL auto_increment,
  `
frasetext NOT NULL,
  `
autorvarchar(35) default NULL,
  `
fechadatetime NOT NULL default '0000-00-00 00:00:00',
  `
publicadotinyint(1unsigned NOT NULL default '0',
  
PRIMARY KEY  (`id`),
  
UNIQUE KEY `id` (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Volcar la base de datos para la tabla `frases`
#


# --------------------------------------------------------

#
# Estructura de tabla para la tabla `librodevisitas`
#

DROP TABLE IF EXISTS `librodevisitas`;
CREATE TABLE `librodevisitas` (
  `
idint(5unsigned NOT NULL auto_increment,
  `
nombrevarchar(35NOT NULL default '',
  `
ecorreovarchar(200NOT NULL default '',
  `
sitiowebvarchar(250) default NULL,
  `
paisvarchar(150) default NULL,
  `
comentariostext NOT NULL,
  `
imagenvarchar(50) default NULL,
  `
fechadatetime NOT NULL default '0000-00-00 00:00:00',
  `
publicadotinyint(1unsigned NOT NULL default '0',
  
PRIMARY KEY  (`id`),
  
UNIQUE KEY `id` (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Volcar la base de datos para la tabla `librodevisitas`
#


# --------------------------------------------------------

#
# Estructura de tabla para la tabla `noticias`
#

DROP TABLE IF EXISTS `noticias`;
CREATE TABLE `noticias` (
  `
idint(5unsigned NOT NULL auto_increment,
  `
titulovarchar(200NOT NULL default '',
  `
resumenvarchar(200NOT NULL default '',
  `
ampliaciontext NOT NULL,
  `
imagenvarchar(100) default NULL,
  `
autorvarchar(30) default NULL,
  `
ecorreo_autorvarchar(200) default NULL,
  `
fechadatetime NOT NULL default '0000-00-00 00:00:00',
  `
publicadotinyint(1unsigned NOT NULL default '0',
  `
cantidadvisitastinyint(5unsigned NOT NULL default '0',
  
PRIMARY KEY  (`id`),
  
UNIQUE KEY `id` (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Volcar la base de datos para la tabla `noticias`
#


# --------------------------------------------------------

#
# Estructura de tabla para la tabla `usuarios`
#

DROP TABLE IF EXISTS `usuarios`;
CREATE TABLE `usuarios` (
  `
idint(5unsigned NOT NULL auto_increment,
  `
nombrechar(10NOT NULL default '',
  `
ecorreochar(200NOT NULL default '',
  `
paischar(15) default NULL,
  `
sitiowebchar(200) default NULL,
  `
icqchar(20) default NULL,
  `
aimchar(50) default NULL,
  `
yahoochar(50) default NULL,
  `
msnchar(50) default NULL,
  `
fechanacimientodatetime default NULL,
  `
IPUsuariochar(15) default NULL,
  `
fecharegistrodatetime NOT NULL default '0000-00-00 00:00:00',
  `
tipotinyint(1NOT NULL default '0',
  
PRIMARY KEY  (`id`),
  
UNIQUE KEY `id` (`id`),
  
UNIQUE KEY `id_2` (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

#
# Volcar la base de datos para la tabla `usuarios`

Es desde PHP claro esta pues me he hecho está función para crear la BD pero no se crear las tablas:
Código PHP:
 function createdatabase(){
     
$identificador mysql_connect($servidor,$usuario,$contrasena) or die ("No se ha podido establecer la conexión con el servidor. MySQL ha dicho: ".mysql_error());
     
$database "mibd";
     if (!
mysql_select_db($database,$identificador)){
         
$consulta "CREATE DATABASE $database";
    }

__________________
Ing. Reynier Pérez Mira

Última edición por Reynier; 17/01/2004 a las 16:18
  #2 (permalink)  
Antiguo 17/01/2004, 20:50
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Esto debe funcionar:
Código PHP:
$servidor="localhost";
$usuario="tu_user";
$password="tu_password";
$base="tu_base";
$con mysql_connect($servidor,$usuario,$password) or die ("Error en la conexión con BD ".mysql_error());
mysql_select_db($base,$con) or die ("Error al seleccionar BD ".mysql_error());

$result mysql_list_tables($base);
for(
$i 0$i mysql_num_rows ($result); $i++){
    
//leemos todos los nombres de tablas y los almacenamos en un array.
   
$tb_names[$i] = mysql_tablename ($result$i);
}

//$tabla será el nombre de la tabla que vas a buscar
$tabla "archivos";

//
if(in_array($tabla$tb_names)){
    echo 
"CREATE TABLE...";
}

//Puedes ver una lista de los nombres de las tablas de la BD:
echo "<pre>";
print_r($tb_names);
echo 
"</pre>"
Puedes ver más sobre estas funciones en el manual:
http://www.php.net/manual/es/functio...ist-tables.php
saludos
  #3 (permalink)  
Antiguo 17/01/2004, 22:19
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
NO es listar

No es listra las tablas sino crearlas desde PHP al igual que hacen la mayoria de las aplicaciones digase PHP Nuke, phpBB y otros.
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 18/01/2004, 10:51
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
Encontre eso por ahi

Código PHP:
<?
if($id == 2) {
$contrasena2 md5(md5($contrasena)) ;
setcookie("unick",$nick,time()+7776000) ;
setcookie("ucontrasena",$contrasena2,time()+7776000) ;
}
?>
<html>
<head>
<title>Testeando</title>
</head>
<body>
<div align="center">
<div class="t1">Testeando</div>
<?
if(!$id) {
?>
<br>
Este instalador creará las tablas necesarias en la base de datos <br><br>
<div style="color: #ff0000"><b>El archivo config.php debe estar previamente configurado.</b></div>
<br><br>
<input type="button" value="Siguiente" onclick="location='instalar.php?id=1'" class="form">
<?
}
if(
$id == 1) {
?>
bla bla bla crear cuenta administrador bla bla es para una aplicacion mia es solo cuestion de que lo adaptes y te des una idea
<form method="post" action="instalar.php?id=2">
<b>Administrador:</b><br>
<input type="text" name="nick" class="form"><br>
<b>Contraseña:</b><br>
<input type="password" name="contrasena" class="form"><br><br>
<input type="submit" name="enviar" value="Siguiente" class="form">
</form>
<?
}
if(
$id == 2) {
include(
"config.php") ;
mysql_query("
create table foro_categorias (
id tinyint(3) unsigned not null auto_increment,
orden tinyint(3) unsigned not null,
categoria varchar(100) not null,
primary key (id),
index (orden)
)
"
) ;
mysql_query("
create table foro_config (
administrador varchar(20) not null,
temas tinyint(3) unsigned not null,
mensajes tinyint(3) unsigned not null,
ultimos tinyint(3) unsigned not null,
loco smallint(5) unsigned not null
)
"
) ;
mysql_close($conectar) ;
?>
<p>La instalación de las tablas se ha creado con exito xD
<p><input type="button" value="Finalizar" onclick="location='tuindex.php'" class="form">
<?
}
?>
</div>
</body>
</html>
Espero te sirva saludos
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol

Última edición por Gerald; 18/01/2004 a las 10:54
  #5 (permalink)  
Antiguo 18/01/2004, 23:16
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Lo que yo te puse es una forma de saber qué tablas tienes.. por ende cuáles no existen... de esa forma si no existe, la creas... lo de listarlas era un agregado sin importancia... lamento la confusión... tal vez me faltó explicarlo mejor.

pero ya que especificas qué es lo que quieres hacer... tal vez convenga más una forma como la que propone Gerald...

Saludos
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 13:21.