[PHP] CREATE TABLE avec un nom variable
JB
-
Padoo Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
Padoo Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
Bonjour !
J'ai un certain nombre de table à créer du type
x0
x10
x20
x30
etc...
du type
y
img
lien
chaque table contenant
yo+img+lien
y10+img+lien
y20+img+lien
etc...
en tout j'ai 100 table X à créer avec dans chaque, 100 entrées Y
Je n'ai pas envie de faire ca manuellement et j'ai donc fais un petit script :
voici l'erreur que j'obtient :
Parse error: parse error, unexpected T_STRING in /var/www/free.fr/9/f/nilujeweb/tab2.php on line 7
la ligne 7 étant :
N'est-il pas possible de créer une table avec un nom variable ?
Merci.
J'ai un certain nombre de table à créer du type
x0
x10
x20
x30
etc...
du type
y
img
lien
chaque table contenant
yo+img+lien
y10+img+lien
y20+img+lien
etc...
en tout j'ai 100 table X à créer avec dans chaque, 100 entrées Y
Je n'ai pas envie de faire ca manuellement et j'ai donc fais un petit script :
<? $x=0; $y=0; while($x < 1000) { CREATE TABLE "x".$x ( y VARCHAR (5) not null , image VARCHAR (255) not null , alt VARCHAR (255) not null , lien VARCHAR (255) not null, PRIMARY KEY (id)) while($y < 1000) { mysql_query("INSERT into x$x VALUES('$y', '', 'Emplacement disponnible', '')") or die('Erreur 2 !'.$result.'<br>'.mysql_error()); $y = $y+10; } $x = $x+10; } ?>
voici l'erreur que j'obtient :
Parse error: parse error, unexpected T_STRING in /var/www/free.fr/9/f/nilujeweb/tab2.php on line 7
la ligne 7 étant :
CREATE TABLE "x".$x (
N'est-il pas possible de créer une table avec un nom variable ?
Merci.
A voir également:
- [PHP] CREATE TABLE avec un nom variable
- Table ascii - Guide
- Table des matières word - Guide
- Trouver un nom avec une adresse ✓ - Forum Réseaux sociaux
- Nom de l'adresse - Forum Réseaux sociaux
- Trouver une personne par son adresse sans son nom et prénom? - Forum Réseaux sociaux
3 réponses
Bonjour,
je pense que c'est possible, mais tu devrais creer une variable locale contenant ton nom de table que tu modifie avant chaque requete et que tu utilise ensuite directement.
En plus tu avait oublié de lancer ta requete CREATE TABLE alors l'erreur vient peut-être tout simplement de là...
Avec un truc du style:
<?
$x=0;
$y=0;
while($x < 1000)
{
$nom_table='x'.$x;
$req=mysql_query("CREATE TABLE ".$nom_table." (
y VARCHAR (5) not null ,
image VARCHAR (255) not null ,
alt VARCHAR (255) not null ,
lien VARCHAR (255) not null,
PRIMARY KEY (id))");
while($y < 1000)
{
$req=mysql_query("INSERT into '$nom_table' VALUES('$y', '', 'Emplacement disponnible', '')") or die('Erreur 2 !'.$result.'<br>'.mysql_error());
$y = $y+10;
}
$x = $x+10;
}
je pense que c'est possible, mais tu devrais creer une variable locale contenant ton nom de table que tu modifie avant chaque requete et que tu utilise ensuite directement.
En plus tu avait oublié de lancer ta requete CREATE TABLE alors l'erreur vient peut-être tout simplement de là...
Avec un truc du style:
<?
$x=0;
$y=0;
while($x < 1000)
{
$nom_table='x'.$x;
$req=mysql_query("CREATE TABLE ".$nom_table." (
y VARCHAR (5) not null ,
image VARCHAR (255) not null ,
alt VARCHAR (255) not null ,
lien VARCHAR (255) not null,
PRIMARY KEY (id))");
while($y < 1000)
{
$req=mysql_query("INSERT into '$nom_table' VALUES('$y', '', 'Emplacement disponnible', '')") or die('Erreur 2 !'.$result.'<br>'.mysql_error());
$y = $y+10;
}
$x = $x+10;
}
Il faut que tu indique à mysql la clé primaire de la table. C'est un champ dont tu indique le nom à PRIMARY KEY (id). Il faut donc soit que tu indique l'un des champs de ta table, soit que tu rajoute un champ id du style
id INT(11) auto-increment NOT NULL,
et quand tu remplis ta table, tu laisse '' à l'endroit de l'id car c'est un auto-increment
Voila voila
id INT(11) auto-increment NOT NULL,
et quand tu remplis ta table, tu laisse '' à l'endroit de l'id car c'est un auto-increment
Voila voila
toutefois tu as raison j'ai quand meme dut créer une variable intérmédiaire.
j'ai encore une erreur
voici le code modifié :
erreur :
Erreur CREATE TABLE $tempx !
Key column 'id' doesn't exist in table
il ne veut pas créer la table x0, x10, etc..
la deuxieme ligne du msg d'erreur je ne comprend pas bien...