Foros del Web » Programando para Internet » PHP »

como crear una tabla con un numero de filas especifico

Estas en el tema de como crear una tabla con un numero de filas especifico en el foro de PHP en Foros del Web. Que tal, pues me veo a la tarea de crear una nueva tabla desde un formulario en php, hasta ahi todo bien, creo la tabla ...
  #1 (permalink)  
Antiguo 27/09/2012, 10:56
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Pregunta como crear una tabla con un numero de filas especifico

Que tal, pues me veo a la tarea de crear una nueva tabla desde un formulario en php, hasta ahi todo bien, creo la tabla con sus diferentes campos, ademas añado una sentencia de AUTO_INCREMENT en donde especifico que numero de valor inicial quiero.

Pero el problema es que quiero que se creen el numero de filas que yo le diga, por ejemplo quiero que la tabla tenga 62 filas.

Como puedo especificarle a la sentencia para que me construya esto?

Aqui esta mi sentencia que tengo para crear la tabla:

Código PHP:
Ver original
  1. <?php
  2.    
  3.     // Datos que vienen desde el formulario
  4.     $c_trabajo  = $_POST['nc_trabajo'];
  5.     $table_name = $_POST['table_name'];
  6.     $seg  = $_POST['newSeg'];
  7.     $nIp  = $_POST['nIp'];
  8.        
  9.         $con = mysql_connect("localhost", "root", "");
  10.        
  11.         if (!$con)
  12.         {
  13.             die('No se pudo conectar a la BD: ' . mysql_error());
  14.         }
  15.  
  16.         $bd = mysql_select_db("cfe", $con);
  17.            
  18.             $tabla = "CREATE TABLE $table_name(
  19.                             dir VARCHAR (25) DEFAULT '$seg',
  20.                             ip INT AUTO_INCREMENT,
  21.                             PRIMARY KEY (ip),
  22.                             c_trabajo VARCHAR (25) DEFAULT '$c_trabajo',
  23.                             equipo VARCHAR (25),
  24.                             user VARCHAR (25),
  25.                             puesto VARCHAR (25),
  26.                             state VARCHAR (15) DEFAULT 'No Asignada')
  27.                             AUTO_INCREMENT=$nIp";
  28.            
  29.             $query = mysql_query($tabla,$con) or die ("Error:" .mysql_error());
  30.            
  31.             mysql_close($con);
  32.             echo 'Se ha creado la nueva Subred con exito!';
  33.             echo '<br>';
  34.             echo "<td><a href=index.php> Regresar </a></td>";
  35. ?>
  #2 (permalink)  
Antiguo 27/09/2012, 11:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: como crear una tabla con un numero de filas especifico

En ese caso debes es insertar valores hasta el numero.
Crear un insert dinamico.
  #3 (permalink)  
Antiguo 27/09/2012, 11:12
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: como crear una tabla con un numero de filas especifico

Cita:
Pero el problema es que quiero que se creen el numero de filas que yo le diga, por ejemplo quiero que la tabla tenga 62 filas.

Como puedo especificarle a la sentencia para que me construya esto?

Aqui esta mi sentencia que tengo para crear la tabla:
Bueno yo tambien tengo la duda si existe alguna forma para hacer lo mismo porque necesito limitar una tabla de usuarios a un cierto número y bloquearle el acceso a crear mas. Igual antes de realizar cualquier insert puedes revisar con
$query->num_rows; cuantos campos tiene y darle un condicional para que si ya tiene los 62 que necesitas no haga nada, en caso contrario que si permita ingresar mas registros.

Igual si alguien nos dice como hacer esto de una manera mas óptima creo que es bienvenida la respuesta.
__________________
Blog de humor http://elcuasatar.net63.net/
  #4 (permalink)  
Antiguo 27/09/2012, 11:16
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: como crear una tabla con un numero de filas especifico

Cita:
Iniciado por maxpower2008 Ver Mensaje
En ese caso debes es insertar valores hasta el numero.
Crear un insert dinamico.
Dejame ver si entiendo, entonces despues de hacer el query para crear la tabla y sus campos debo de hacer otro query pero con un INSERT hacia la tabla que se creo y especificarle el numero de filas?

Me puedes dar un ejemplo de como seria esta sentencia? GRACIAS!
  #5 (permalink)  
Antiguo 27/09/2012, 11:20
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: como crear una tabla con un numero de filas especifico

Cita:
Iniciado por cuasatar Ver Mensaje
Bueno yo tambien tengo la duda si existe alguna forma para hacer lo mismo porque necesito limitar una tabla de usuarios a un cierto número y bloquearle el acceso a crear mas. Igual antes de realizar cualquier insert puedes revisar con
$query->num_rows; cuantos campos tiene y darle un condicional para que si ya tiene los 62 que necesitas no haga nada, en caso contrario que si permita ingresar mas registros.

Igual si alguien nos dice como hacer esto de una manera mas óptima creo que es bienvenida la respuesta.
Pues he estado investigando y buscando, pero no encuentro la forma de hacerlo, yo pensaba que era facil especificarle a la sentencia que la tabla que se crea tenga "x" numero de filas.

Algo como CREATE TABLE table_name WHERE NUMROWS = 62, no se se ve facil, pero supongo que tiene que haber algo para hacerlo!
  #6 (permalink)  
Antiguo 27/09/2012, 11:41
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: como crear una tabla con un numero de filas especifico

Cita:
Iniciado por Mauk Ver Mensaje
Dejame ver si entiendo, entonces despues de hacer el query para crear la tabla y sus campos debo de hacer otro query pero con un INSERT hacia la tabla que se creo y especificarle el numero de filas?

Me puedes dar un ejemplo de como seria esta sentencia? GRACIAS!
Depende lo q necesites.
La idea es limitar el numero de registros de la tambla o simplemente insertar tantos valores como quieras.
Si es lo segundo con un ciclo repetitivo si es lo primero con la opcion que te dan antes te serviria.

Ahora q valores van a tener esos registros??
valores digitados por un usuario o el mismo valor para todos los registros?...
  #7 (permalink)  
Antiguo 27/09/2012, 11:55
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: como crear una tabla con un numero de filas especifico

Cita:
Iniciado por maxpower2008 Ver Mensaje
Depende lo q necesites.
La idea es limitar el numero de registros de la tambla o simplemente insertar tantos valores como quieras.
Si es lo segundo con un ciclo repetitivo si es lo primero con la opcion que te dan antes te serviria.

Ahora q valores van a tener esos registros??
valores digitados por un usuario o el mismo valor para todos los registros?...
mmm.. No precisamente, deja te explico a grandes rasgos para que puedas entenderlo.

Las tablas tienen un campo llamado "ip", este campo tendra rangos que el usuario escriba en el formulario, ejemplo:

Escriba el numero donde comienza su asignacion de IP: " 1 "

Escriba el numero donde termina su asignacion de IP: " 62 "

Entonces la tabla que se crea tendra 62 filas, el campo "ip" irian los datos: 1,2,3,4,5... hasta 62.

No se si me di a entender. GRACIAS de nuevo!
  #8 (permalink)  
Antiguo 27/09/2012, 11:59
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: como crear una tabla con un numero de filas especifico

Cita:
Iniciado por Mauk Ver Mensaje
mmm.. No precisamente, deja te explico a grandes rasgos para que puedas entenderlo.

Las tablas tienen un campo llamado "ip", este campo tendra rangos que el usuario escriba en el formulario, ejemplo:

Escriba el numero donde comienza su asignacion de IP: " 1 "

Escriba el numero donde termina su asignacion de IP: " 62 "

Entonces la tabla que se crea tendra 62 filas, el campo "ip" irian los datos: 1,2,3,4,5... hasta 62.

No se si me di a entender. GRACIAS de nuevo!
Y los demas campos que valores tendrian??---

Código PHP:
$inicio=1;
$fin=62;

while(
$inicio<=$fin){
$sql='insert into tabla values('.$inicio.')';
//insertas en la bd
$inicio++;

Esa seria la logica para lo que necesitas.
  #9 (permalink)  
Antiguo 27/09/2012, 12:20
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: como crear una tabla con un numero de filas especifico

Cita:
Iniciado por maxpower2008 Ver Mensaje
Y los demas campos que valores tendrian??---

Código PHP:
$inicio=1;
$fin=62;

while(
$inicio<=$fin){
$sql='insert into tabla values('.$inicio.')';
//insertas en la bd
$inicio++;

Esa seria la logica para lo que necesitas.
En los demás campos ya los tengo establecidos, agrego valores por DEFAULT que el usuario también ingresa desde el formulario, mira mi sentencia de creación de la tabla.


Código PHP:
Ver original
  1. $tabla = "CREATE TABLE $table_name(
  2.                      
  3.                                         dir VARCHAR (25) DEFAULT '$seg',
  4.                          ip INT AUTO_INCREMENT,                                      
  5.                                          PRIMARY KEY (ip),                                     
  6.                                         c_trabajo VARCHAR (25) DEFAULT '$c_trabajo',
  7.                      equipo VARCHAR (25),
  8.                      user VARCHAR (25),
  9.                      puesto VARCHAR (25),
  10.                                         state VARCHAR (15) DEFAULT 'No Asignada')
  11.                      AUTO_INCREMENT=$nIp";
  12.            
  13.             $query = mysql_query($tabla,$con) or die ("Error:" .mysql_error());

En este caso entonces creo el campo "ip" ya no lo definiria como AUTO_INCREMENT, pues que este campo se llenara de resgistros con los datos que se ingresen y se haga el WHILE

Entonces en la sentencia iria algo similar a esto:

Código PHP:
Ver original
  1. <?php
  2.    
  3.     // Datos que vienen desde el formulario
  4.      
  5.     $c_trabajo  = $_POST['nc_trabajo'];
  6.     $table_name = $_POST['table_name'];
  7.     $seg  = $_POST['newSeg'];
  8.     $inicIp  = $_POST['inicIp'];
  9.     $endIp  = $_POST['endIp'];
  10.        
  11.         $con = mysql_connect("localhost", "root", "");
  12.        
  13.         if (!$con)
  14.         {
  15.             die('No se pudo conectar a la BD: ' . mysql_error());
  16.         }
  17.  
  18.         $bd = mysql_select_db("cfe", $con);
  19.            
  20.             $tabla = "CREATE TABLE $table_name(
  21.                                     dir VARCHAR (25) DEFAULT '$seg',
  22.                                     ip INT,
  23.                                     PRIMARY KEY (ip),
  24.                                     c_trabajo VARCHAR (25) DEFAULT '$c_trabajo',
  25.                                     equipo VARCHAR (25),
  26.                                     user VARCHAR (25),
  27.                                     puesto VARCHAR (25),
  28.                                     state VARCHAR (15) DEFAULT 'No Asignada')";
  29.            
  30.             $query = mysql_query($tabla,$con) or die ("Error:" .mysql_error());
  31.            
  32.             while($inicIp<=$endIp){
  33.            
  34.             $filas = "INSERT INTO $table_name (ip) VALUES ('.$inicIp.')";
  35.                     $inicIP++;
  36.                    
  37.                 $query2 = mysql_query($filas,$con) or die ("Error:" .mysql_error());   
  38.             }  
  39.            
  40.             mysql_close($con);
  41.             echo 'Se ha creado la nueva Subred con exito!';
  42.             echo '<br>';
  43.             echo "<td><a href=index.php> Regresar </a></td>";
  44. ?>

Por favor dime si ves algún error..
  #10 (permalink)  
Antiguo 27/09/2012, 13:13
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: como crear una tabla con un numero de filas especifico

ahi se ve bien.
aunq no se porque querras hacer eso de crear tablas...

en
$fila="Insert into $tablle (ip) values(".$inicIp.")";
debes de concatenar con comillas dobles por que empiezas con comillas dobles.

Etiquetas: especifico, filas, formulario, mysql, numero, tabla
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 05:43.