Bonjour,
comment générer automatiquement une table mySQL via le formulaire ci-dessous :
Dans la page process.php, je récupère les variables postées :
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <form name="mySQL_table" id="mySQL_table"> <fieldset> <legend>Create MySQL table</legend> <div style="display:block; height:100px;"> <label>Nom de la table</label> <input type="text" name="name_table" id="name_table" value="" class="width300" required /> Ajouter <input type="number" name="numColumn" id="numColumn" value="1" class="width80" /> colonne(s) <button type="button" id="btn_addColumn">Exécuter</button> </div> <div style="display:block"> <table id="table_create" width="95%"> <tr> <th width="20%">Nom</th> <th width="20%">Type</th> <th width="10%">Taille/valeurs</th> <th width="10%">Defaut</th> <th width="10%">Interclassement</th> <th width="10%">Attributs</th> <th width="5%">Null</th> <th width="5%px">Index</th> <th width="5%">A_I</th> <th width="5%"></th> </tr> <tr> <td> <input type="text" name="name_column[]" class="name_column" value="" class="width400" required /> </td> <td> <select name="type[]" class="type width200"> <option value="INT">INT</option> <option value="TINYINT">TINYINT</option> <option value="VARCHAR">VARCHAR</option> <option value="CHAR">CHAR</option> <option value="TEXT">TEXT</option> <option value="DATE">DATE</option> <option value="DECIMAL">DECIMAL</option> <option value="FLOAT">FLOAT</option> </select> </td> <td> <input type="number" name="size[]" value="" class="size width80" required / > </td> <td> <select name="defaut[]" class="defaut width150"> <option value="Aucune">Aucune</option> </select> </td> <td> <select name="interclassement[]" class="interclassement width200"> <option value="utf8_general_ci">utf8_general_ci</option> </select> </td> <td> <select name="attributs[]" class="attributs width200"> <option value="BINARY">BINARY</option> <option value="UNSIGNED" selected>UNSIGNED</option> <option value="UNSIGNED_ZEROFIL">UNSIGNED ZEROFIL</option> <option value="CURRENT_TIMESTAMP">on update CURRENT_TIMESTAMP</option> </select> </td> <td> <input type="checkbox" name="null[]" class="null" value="NOT NULL" /> </td> <td> <select name="index[]" class="index width150"> <option value="0">...</option> <option value="PRIMARY KEY">PRIMAIRE</option> <option value="UNIQUE">UNIQUE</option> <option value="INDEX">INDEX</option> <option value="FULLTEXT">FULLTEXT</option> </select> </td> <td> <input type="checkbox" name="A_I[]" class="A_I" value="AUTO_INCREMENT" /> </td> <td></td> </tr> </table> </form>
mais comment compiler les colonnes afin d'obtenir :
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 if(!empty( $_POST["name_column"] )) { foreach($_POST['name_column'] as $name_column) { //echo "<p>name_column : ".$name_column."</p>"; } //--------------------- //format //--------------------- $name_column = implode(",", $_POST["name_column"]); echo "name_column => : ".$name_column."</br>"; } else{ $name_column = ""; }
Merci d'avance;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $sql = "CREATE TABLE IF NOT EXISTS ".$table_name."( ".$_POST['name_column']." "..$_POST['type']."(".$_POST['size.") ..., PRIMARY KEY (ID) )";"
Partager