php: Ayuda create table + $variable

elgusano

Wenas, estoy intentando crear una tabla(mysql), que el nombre sería una variable, he aqui:

$crear=mysql_query("create table $fecha_actual (id_enl INT (11)NOT NULL AUTO_INCREMENT, contenido TEXT (500) NOT NULL, fecha INT(11) NOT NULL, key(id_enl))") or die(mysql_error());

$fecha_actual seria el nombre de la tabla, pero me da un error de syntaxis, he probado con comillas simples, dobles, con puntos, sin puntos, sin comillas... y nada, error de syntaxis

Pero es que luego creo esta:

$tabla_calificacion=mysql_query("create table ".$nombre_tabla."_calificacion (id_piloto INT NOT NULL AUTO_INCREMENT, piloto INT NOT NULL, tiempo VARCHAR(15) NOT NULL, key(id_piloto))")or die(mysql_error());

y crea la tabla $nombre_tabla_calificacion sin problemas.

estoy amargao ya, una ayudita gracias

SeiYa

No estoy seguro, pero quizás sea:

(id_enl INT (11)NOT NULL

que tendría que ser

(id_enl INT(11) NOT NULL

Prueba a ver.

elgusano

mmm, luego probaré en casa, pero creo que intenté crearla sin el (11) osea, (id_enl INT NOT NULL AUTO_INCREMENT .....

y también me daba error

SeiYa

Consejos.

Haz:

$consulta = create table $fecha_actual (id_enl INT (11)NOT NULL AUTO_INCREMENT, contenido TEXT (500) NOT NULL, fecha INT(11) NOT NULL, key(id_enl))";

echo "$consulta";

$crear=mysql_query($consulta) or die(mysql_error());

Copia el error que te da, si no te resuelve dudas, fíjate en la consulta que te habrá salido impresa en pantalla, averígua que está mal (si es que hay algo) y llévala al mysql query y métela directamente, en caso de haber error te dará una respuesta mucho más acertada de qué es lo que ocurre.

Un saludín.

elgusano

ya estaba el mysql_error() en #1, me da un error de syntax near to (id_enl INT NOT NULL AUTO_INCREMENT, y mas...

algo asi, es que no lo tengo aqui delante

Soltrac

Yo no es por meterme en tu desarrollo...cada uno es libre de programar como le da la gana, eso esta claro.

Pero dije hace unos meses....antes de meternos en PHP, debemso tener unas nociones basicas de diseño de bases de datos relacionales.

La pregunta es esta...es necesario que tengas una tabla con una fecha? Te lo digo, porque tengo la sensacion q vas a tener muchas tablas exactamente iguales con el nombre cambiado y esta no es la filosofia...

elgusano

Si tienes algo que aportar, te agradecería mucho que lo posteases, sino, como tu bien dices, "cada uno es libre de programar lo que le dé la gana".

Si, "esta no es la filosofía", te agradecería que posteases la tuya, asi entre todos aprendemos

Gracias

Soltrac

#7 si te tomas a mal toda critica constructiva, mal vas

Si quieres q te ayude, dime cual es tu intencion, q tablas piensas usar y yo te propondre algo mas optimo.

En ningun momento he pretendido llegar a ofenderte. Solo te digo q en bases de datos relacionales, no puedes crear X tablas iguales...para eso estan las tablas y las relaciones.

Lo q te kiero decir es q en ningun momento he pretendido criticarte mal. Te estoy diciendo q eso esta mal diseñado. Lo puedes tomar a bien o a mal...tu mandas pq es TU diseño, no mio

elgusano

Ok,. esta es la idea, seguramente, mal planteada:

crear una tabla cada día para meter los enlaces de ese dia, si el nombre de la tabla no coincide con la fecha actual, crear una nueva tabla, de nombre $fecha_actual,

if (fecha_actual==nombre_tabla)
query=(insert....en la tabla que hay)
else
query=(create table $fecha_actual......)
query=(update table nombre_tabla....)

esa es la idea, agradecería consejos

Gracias

SeiYa

¿No es mejor una tabla enlaces con 2 campos Enlace y Fecha?

Es que eso de crear tablas por que sí te va a comer toda la BBDD.

elgusano

pos tienes razón, que gilipollez. Es lo que tiene aprender esto por cuenta propia, se me escapan muchas cosas, tonterias mayormente

SeiYa

Es que no se como se te pasa por la cabeza primero lo de crear una tabla al día XDD

Soltrac

A eso me referia :)

Usuarios habituales

  • Soltrac
  • SeiYa
  • elgusano