6 * Get some core libraries
8 require('./grab_globals.inc.php3');
9 require('./header.inc.php3');
13 * Selects the database to work with
19 * The form used to define the structure of the table has been submitted
26 // Builds the fields creation statements
27 for ($i = 0; $i < count($field_name); $i++
) {
28 if (empty($field_name[$i])) {
31 $query .= backquote($field_name[$i]) . ' ' . $field_type[$i];
32 if ($field_length[$i] != '') {
33 if (get_magic_quotes_gpc()) {
34 $query .= '(' . stripslashes($field_length[$i]) . ')';
36 $query .= '(' . $field_length[$i] . ')';
39 if ($field_attribute[$i] != '') {
40 $query .= ' ' . $field_attribute[$i];
42 if ($field_default[$i] != '') {
43 if (strtoupper($field_default[$i]) == 'NULL') {
44 $query .= ' DEFAULT NULL';
45 } else if (get_magic_quotes_gpc()) {
46 $query .= ' DEFAULT \'' . sql_addslashes(stripslashes($field_default[$i])) . '\'';
48 $query .= ' DEFAULT \'' . sql_addslashes($field_default[$i]) . '\'';
51 if ($field_null[$i] != '') {
52 $query .= ' ' . $field_null[$i];
54 if ($field_extra[$i] != '') {
55 $query .= ' ' . $field_extra[$i] . ', ';
60 $query = ereg_replace(', $', '', $query);
62 // Builds the primary keys statements
63 if (!isset($primary)) {
66 if (!isset($field_primary)) {
67 $field_primary = array();
69 for ($i = 0; $i < count($field_primary); $i++
) {
70 $j = $field_primary[$i];
71 if (!empty($field_name[$j])) {
72 $primary .= backquote($field_name[$j]) . ', ';
75 $primary = ereg_replace(', $', '', $primary);
76 if (!empty($primary)) {
77 $primary = ', PRIMARY KEY (' . $primary . ')';
80 // Builds the indexes statements
84 if (!isset($field_index)) {
85 $field_index = array();
87 for ($i = 0;$i < count($field_index); $i++
) {
88 $j = $field_index[$i];
89 if (!empty($field_name[$j])) {
90 $index .= backquote($field_name[$j]) . ', ';
93 $index = ereg_replace(', $', '', $index);
95 $index = ', INDEX (' . $index . ')';
98 // Builds the uniques statements
99 if (!isset($unique)) {
102 if (!isset($field_unique)) {
103 $field_unique = array();
105 for ($i = 0; $i < count($field_unique); $i++
) {
106 $j = $field_unique[$i];
107 if (!empty($field_name[$j])) {
108 $unique .= backquote($field_name[$j]) . ', ';
111 $unique = ereg_replace(', $', '', $unique);
112 if (!empty($unique)) {
113 $unique = ', UNIQUE (' . $unique . ')';
115 $query_keys = $primary . $index . $unique;
116 $query_keys = ereg_replace(', $', '', $query_keys);
118 // Builds the 'create table' statement
119 $sql_query = 'CREATE TABLE ' . backquote($table) . ' ('
122 // Adds table type (2 May 2001 - Robbat2)
123 if (!empty($tbl_type) && ($tbl_type != 'Default')) {
124 $sql_query .= ' TYPE = ' . $tbl_type;
126 if (MYSQL_INT_VERSION
>= 32300 && !empty($comment)) {
127 $sql_query .= ' comment = \'' . sql_addslashes($comment) . '\'';
130 // Executes the query
131 $result = mysql_query($sql_query) or mysql_die();
132 $message = $strTable . ' ' . htmlspecialchars($table) . ' ' . $strHasBeenCreated;
133 include('./tbl_properties.php3');
135 } // end do create table
139 * Displays the form used to define the structure of the table
142 if (isset($num_fields)) {
143 $num_fields = intval($num_fields);
146 if (!isset($table) ||
trim($table) == '') {
147 mysql_die($strTableEmpty);
149 // No valid number of fields
150 else if (empty($num_fields) ||
!is_int($num_fields)) {
151 mysql_die($strFieldsEmpty);
153 // Table name and number of fields are valid -> show the form
155 $action = 'tbl_create.php3';
156 include('./tbl_properties.inc.php3');
157 // Diplays the footer
159 include('./footer.inc.php3');