Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Es posible hacer algo asi con PHP y MSQL

Estas en el tema de Es posible hacer algo asi con PHP y MSQL en el foro de PHP en Foros del Web. Es posible hacer algo asi en PHP y MSQL, que la tabla se cree con el nombre que pusiste al registrar una cuenta?, osea cuando ...
  #1 (permalink)  
Antiguo 02/06/2014, 08:51
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Es posible hacer algo asi con PHP y MSQL

Es posible hacer algo asi en PHP y MSQL, que la tabla se cree con el nombre que pusiste al registrar una cuenta?, osea cuando te registras se crea en MYSQL una tabla con el nombre que pusiste en el form de usuario. No puedo hacer que funcione.


Código PHP:

$username 
$_POST["username"]; 

// aca crearia una tabla con el nombre de usuario 
 
                 
$T 'CREATE TABLE $username ( 
                 id INT NOT NULL AUTO_INCREMENT, 
                 PRIMARY KEY(id), 
                 username VARCHAR(30) NOT NULL, 
                 online VARCHAR(20) NOT NULL) '

                 
$result mysql_query($T); 
  #2 (permalink)  
Antiguo 02/06/2014, 08:56
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Es posible hacer algo asi con PHP y MSQL

Sí, claro que es posible, pero no es nada funcional, no hace falta que cada usuario tenga su propia tabla, basta con que registres al usuario y se genere un ID, luego, en los demás tablas que tengan información relacionada con el usuario debes poner como clave foránea al usuario y ya está.
  #3 (permalink)  
Antiguo 02/06/2014, 08:57
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Es posible hacer algo asi con PHP y MSQL

Si pones comillas simples ('), tendrás que concatenar (no interpreta).

Con comillas dobles, sí.

Ejemplo:

Comillas simples:
Código PHP:
 $T 'CREATE TABLE '.$username.' (  
                 id INT NOT NULL AUTO_INCREMENT,  
                 PRIMARY KEY(id),  
                 username VARCHAR(30) NOT NULL,  
                 online VARCHAR(20) NOT NULL) '

Comillas dobles:
Código PHP:
 $T "CREATE TABLE $username (  
                 id INT NOT NULL AUTO_INCREMENT,  
                 PRIMARY KEY(id),  
                 username VARCHAR(30) NOT NULL,  
                 online VARCHAR(20) NOT NULL) "

PD: Deberias "filtrar" o "valdiar" ese campo para evitar injections / valores invalidos!
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 02/06/2014, 09:09
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Es posible hacer algo asi con PHP y MSQL

Cita:
Iniciado por Artificium Ver Mensaje
Sí, claro que es posible, pero no es nada funcional, no hace falta que cada usuario tenga su propia tabla, basta con que registres al usuario y se genere un ID, luego, en los demás tablas que tengan información relacionada con el usuario debes poner como clave foránea al usuario y ya está.
Entiendo lo que queres decir, pero lo que yo quiero ver es algo como funcionaria facebook. mira esto:

tenes una tabla de registro de usuarios , donde va a estar tus datos personales. cada vez que un usuario se registra se va a crear otra tabla con tu nombre de usuario , aparte de la de registro personales

una vez que inicias sesion vas al buscador que va a estar echo con los "registros personales " cuando haces click en alguna persona que encontrastes, la agregas como "amigo", y se agrega a tu bd de tu nombre como amigo.. me entendes???
  #5 (permalink)  
Antiguo 02/06/2014, 09:12
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Es posible hacer algo asi con PHP y MSQL

Eso no debería ser así.

Tienes una tabla con los datos de usuario: Usuarios (Id, Usuario, Pass, Mail, Phone, Blabla)
Y otra que sea Amigos( IdUsuario1, IdUsuario2) por ejemplo.

Con eso, tienes resuelto ese tema...
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 02/06/2014, 09:13
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Es posible hacer algo asi con PHP y MSQL

Cita:
Iniciado por Eleazan Ver Mensaje
Eso no debería ser así.

Tienes una tabla con los datos de usuario: Usuarios (Id, Usuario, Pass, Mail, Phone, Blabla)
Y otra que sea Amigos( IdUsuario1, IdUsuario2) por ejemplo.

Con eso, tienes resuelto ese tema...
mm y yo creo que no, por que cada usuario va a tener sus amigos.
sino todos serian amigos de todos, y cuando haces el chat no seria lo mismo
  #7 (permalink)  
Antiguo 02/06/2014, 09:18
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Es posible hacer algo asi con PHP y MSQL

Insistes en tu error de diseño de base de datos, las cosas no se hacen como tú piensas, sino como te sugirió el usuario Eleazan. A eso se le llama "Bases de Datos Relacionales". Deberías investigar al respecto. Si tienes 5000 usuarios cuantos, vas a tener más de 5000 tablas? y cuando quieras agregar a modificar algo en la estructura de esas tablas, vas a hacer a esas 5000? Además piensa en la redundancia en la estructura de los datos, el servidor va a tener que guardar 5000 veces la estructura repetida de cada tabla. Bien puedes hacer como lo sugerimos, igual cada usuario va a tener sus amigos, solo de ellos, aunque estén en una tabla común.
  #8 (permalink)  
Antiguo 02/06/2014, 09:19
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Es posible hacer algo asi con PHP y MSQL

Vale.

Datos reales:

3 usuarios:
Id | Usuario | Nombre
1 | User1 | Fulanito
2 | User2 | Menganito
3 | User3 | Yomismo

Fulanito es amigo de menganito y de yomismo
Y menganito no es amigo de yomismo

Tabla Amigos (IdUsuario1, IdUsuario2)
1 | 2
1 | 3
2 | 1* (Opcionales, podrias buscarlos por IdUsuario2)
3 | 1* (Opcionales, podrias buscarlos por IdUsuario2)
Y ahora, Obtener todos los amigos de Fulanito!
Código:
SELECT IdUsuario1 FROM Amigos WHERE IdUsuario1="1"
Devuelve 2 y 3 (Menganito y Yomismo)

Amigos de Menganito:
Código:
SELECT IdUsuario1 FROM Amigos WHERE IdUsuario1="2"
Devuelve 1 (Fulanito).

¿Sigues pensando que no se puede?
__________________
>> Eleazan's Source
>> @Eleazan
  #9 (permalink)  
Antiguo 02/06/2014, 09:32
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Es posible hacer algo asi con PHP y MSQL

Cita:
Iniciado por Eleazan Ver Mensaje
Vale.

Datos reales:

3 usuarios:
Id | Usuario | Nombre
1 | User1 | Fulanito
2 | User2 | Menganito
3 | User3 | Yomismo

Fulanito es amigo de menganito y de yomismo
Y menganito no es amigo de yomismo

Tabla Amigos (IdUsuario1, IdUsuario2)
1 | 2
1 | 3
2 | 1* (Opcionales, podrias buscarlos por IdUsuario2)
3 | 1* (Opcionales, podrias buscarlos por IdUsuario2)
Y ahora, Obtener todos los amigos de Fulanito!
Código:
SELECT IdUsuario1 FROM Amigos WHERE IdUsuario1="1"
Devuelve 2 y 3 (Menganito y Yomismo)

Amigos de Menganito:
Código:
SELECT IdUsuario1 FROM Amigos WHERE IdUsuario1="2"
Devuelve 1 (Fulanito).

¿Sigues pensando que no se puede?
te entiendo, pero yo me comlpicaba por que no sabia en que parte se guardaba la cantidad de amigos, osea cuando voy, suponte, al perfil y vez amigos , tendria que mostrarte el nombre de cada uno. eso era mi problema.

muchas gracias por la informacion
  #10 (permalink)  
Antiguo 02/06/2014, 09:36
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Es posible hacer algo asi con PHP y MSQL

Como dije antes, aprende sobre Bases de Datos Relacionales. Eso te ayudará a diseñar mejor tu estructura de datos.
  #11 (permalink)  
Antiguo 02/06/2014, 09:38
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Es posible hacer algo asi con PHP y MSQL

Cita:
Iniciado por Artificium Ver Mensaje
Como dije antes, aprende sobre Bases de Datos Relacionales. Eso te ayudará a diseñar mejor tu estructura de datos.
si es verdad, imaginate como aria facebook jaja con millones de tablas, no se podria jamas

Etiquetas: bd, mysql, 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 10:17.