Foros del Web » Programando para Internet » PHP »

Crear tablas desde formulario

Estas en el tema de Crear tablas desde formulario en el foro de PHP en Foros del Web. Hola amigos, tengo el siguiente formulario Código PHP: <HTML> <BODY> <FORM METHOD="post" ACTION="formulario.php"> <select size="1" name="pais[]">  <option value="venezuela">Venevuela</option> <option value="panama">Panama</option> <option value="mexico">Mexico</option> <option value="ecuador">Ecuador</option> <option value="colombia">Colombia</option> <option value="chile">Chile</option> <option value="brasil">Brasil</option> <option value="argentina">Argentina</option> </select><br>  Tabla: <input type="text" name="nombre" value=" <?php  $Fecha =  ...
  #1 (permalink)  
Antiguo 07/06/2009, 20:18
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Crear tablas desde formulario

Hola amigos, tengo el siguiente formulario
Código PHP:
<HTML>
<BODY>
<FORM METHOD="post" ACTION="formulario.php">
<select size="1" name="pais[]"> 
<option value="venezuela">Venevuela</option>
<option value="panama">Panama</option>
<option value="mexico">Mexico</option>
<option value="ecuador">Ecuador</option>
<option value="colombia">Colombia</option>
<option value="chile">Chile</option>
<option value="brasil">Brasil</option>
<option value="argentina">Argentina</option>
</select><br> 
Tabla: <input type="text" name="nombre" value="
<?php 
$Fecha
date('Y-m',time() - 3600 ); 
echo 
$Fecha;
?>"><br>  
<input type="submit" value="Enviar datos!" > 
</FORM>
</BODY>
<HTML>

<?php
$Nombre 
= @$_POST["nombre"];  
$pais = @$_POST["pais"]; 

for (
$i=0;$i<count($pais);$i++){
    echo 
"<br> Pais "$pais[$i]; 
   
mysql_connect("localhost","root","");
   
mysql_select_db("$pais[$i]");
   
$sql="create table $Nombre (`nombre` varchar(1000) NOT NULL, `primera` double NOT NULL, PRIMARY KEY (`nombre`))";
   
mysql_query($sql);       

?>
y lo que tiene que hacer es crear tablas dentro de la base de datos seleccionada, por ejemplo si marco en la base de datos de Venezuela, tiene que crear una tabla de nombre 2009-06 con la siguiente estructura:
Código PHP:
CREATE TABLE IF NOT EXISTS `pais` (
  `
nombrevarchar(1000NOT NULL,
  `
primeradouble NOT NULL,
  
PRIMARY KEY (`nombre`)

pero no se que pasa, que no las crea a las tablas dentro de las bases de datos, si alguien me puede ayudar
  #2 (permalink)  
Antiguo 07/06/2009, 20:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear tablas desde formulario

el problema se crea a partir de seleccionar la base de datos, con mysql_select_db()

si la tabla que "crees" seleccionar no existe, entonces... el query por mas perfecto que sea, fallara!

aún así, procura depurar tu consulta... si algo mas ocurre, lo sabremos
Código PHP:
mysql_select_db("$pais[$i]") or die(mysql_error());
// ...
mysql_query($sql) or die(mysql_error()); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/06/2009, 20:36
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Crear tablas desde formulario

Hola pateketrueke, yo creo que el error no es en mysql_select_db(), sino en
Código PHP:
$sql="create table $Nombre (`nombre` varchar(1000) NOT NULL, `primera` double NOT NULL, PRIMARY KEY (`nombre`))"
ya que puse el nombre de la base de datos e igual no funciona
  #4 (permalink)  
Antiguo 07/06/2009, 20:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear tablas desde formulario

y el método de debug no te funciona??

¿¿¿no te arroja siquiera un error textual???

entonces, has esto
Código PHP:
echo "<pre>SQL: $sql</pre>";
mysql_query($sql) or die(mysql_error()); 
¿¿que sale???


--
(o esperas a que sigamos adivinando)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/06/2009, 22:06
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Crear tablas desde formulario

me sale el siguiente error:
Código 1:
Ver original
  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2009-06 (`nombre` varchar(1000) NOT NULL, `primera` double NOT NULL, PRIMARY KEY' at line 1
  #6 (permalink)  
Antiguo 07/06/2009, 22:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear tablas desde formulario

he ahí el problema... ¿ves como no es difícil ayudar para que ayudemos??

el problema es claro, el nombre de la tabla a crear contiene un guión medio... y este, al ser carácter especial (de resta) te genera un error de sintaxis...

lo ideal es omitir este tipo de nombres, por muchas razones... tu comprenderás!

pero en realidad, puedes usar este tipo de caracteres usando el backtick igualmente con el nombre de la tabla como con las columnas...

Código:
CREATE TABLE `foo-bar` ...
suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 07/06/2009, 22:26
 
Fecha de Ingreso: enero-2009
Ubicación: en la casa
Mensajes: 223
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Crear tablas desde formulario

Gracias pateketrueke, ese mismo es el problema, ya lo arregle poniendo nombres y quitando el guión :)

Salu2
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 03:38.