Bonjour,
Tout d'abord, j'espère que ce poste sera au bon endroit :p
Donc, pour expliquer simplement mon soucis :
J'ai un bout de code pour créer automatiquement des tables sous php/mysql :
Bref, j'ai un peu abrégé mon code pr que ce soit plus lisible, ce qui le rend complètement faux, mais ce n'est pas grave, le but étant de voir la création des tables quand l'utilisateur n'existe pas : galerie_$pseudo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 $titre = trim(htmlspecialchars(addslashes($_POST['titre']))); $lien = trim(htmlspecialchars(addslashes($_POST['lien']))); $pseudo = trim(htmlspecialchars(addslashes($_POST['pseudo']))); $mdp = trim(htmlspecialchars(addslashes($_POST['mdp']))); $table = "galerie_".$pseudo; $db = $ma_base_de_donnee; if (Ma table existe) { J'insère les valeurs .... if(Le champ titre existe déja){ j'update mon champ. } else { je crée un nouveau champ } } else{ $query="CREATE TABLE galerie_$pseudo ( id mediumint(8) unsigned NOT NULL auto_increment, pseudo varchar(20) NOT NULL default '', mdp varchar(20) NOT NULL default '', titre varchar(20) NOT NULL default '', lien varchar(150) NOT NULL default'', PRIMARY KEY (`id`) );"; $result=mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error()); if($result){ $query = "INSERT INTO galerie_$pseudo VALUES ('', '$pseudo', '$mdp', '$titre', '$lien')"; $result= mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error()); // .......................
Ainsi c'est magnifique je peux créer mes tables tranquillement mais le soucis se passe quand je veux récupérer les valeurs de mes tables. En effet j'aimerai pouvoir lancer une requête SQL qui m'affiche chaque nom de table, ce qui me permettrait ensuite de lire les valeurs de chaque table.
J'étais parti sur cette piste :
Et j'obtiens le nombre de tables dans ma base de donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $requete = 'SHOW TABLES FROM '.$db.''; $exec = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error()); $nb_table = mysql_num_rows($exec); for($i=0; $i<$nb_table; $i++){ echo $i; }
Le seul soucis c'est que je n'arrive pas a récupérer de string pour chaque table, ce qui me permettrait ensuite de faire ereg('^galerie_',$tables) et d'obtenir uniquement les tables qui concernent ma galerie !
Alors voilà, je m'étais dit qu'il serait p-e faisable d'associer un "genre" de SELECT 'pseudo' avec le SHOW TABLES FROM ce qui m'aurait permis par la suite un "galerie_".$exec['pseudo']; et vérifier son existence pour me dépatouiller... enfin bref j'arrive a rien et je commence a être agacé donc c'est plus tip top pour réfléchir.
En espérant avoir été clair et que quelqu'un sera à même de me répondre.
Cordialement,
Jean.
Partager