[PHP] CREATE TABLE avec un nom variable
Fermé
JB
-
4 mars 2006 à 12:12
Padoo Messages postés 109 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 6 février 2009 - 4 mars 2006 à 17:37
Padoo Messages postés 109 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 6 février 2009 - 4 mars 2006 à 17:37
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
- Trouver une adresse avec un nom de famille gratuit ✓ - Forum Mobile
3 réponses
Padoo
Messages postés
109
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
6 février 2009
18
4 mars 2006 à 16:01
4 mars 2006 à 16:01
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;
}
Padoo
Messages postés
109
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
6 février 2009
18
4 mars 2006 à 17:20
4 mars 2006 à 17:20
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
Padoo
Messages postés
109
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
6 février 2009
18
4 mars 2006 à 17:37
4 mars 2006 à 17:37
Autre chose, si tu ne réinitialise pas ton y dans la premiere boucle alors dès la deuxième table, rien ne rentrera dedans meme si ton code s'exécute sans erreurs.
4 mars 2006 à 16:56
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...