таблица чрез php(sql)

bgmaniaka

Registered
Имам масив: $a[0],$a[1],$a[2].....
Как да създам таблица с тези полета? Ако сложа така:
Код:
$query = "CREATE TABLE `zones12` (
        `zid` TINYINT( 3 ) UNSIGNED NOT NULL AUTO_INCREMENT,
        $as[0] VARCHAR( 150 ) NOT NULL,
        PRIMARY KEY ( `zid` )
       )";
всичко е наред, но ако сложа така:
Код:
$query = "CREATE TABLE `zones12` (
        `zid` TINYINT( 3 ) UNSIGNED NOT NULL AUTO_INCREMENT,
        $as[0] VARCHAR( 150 ) NOT NULL,
	$as[1] VARCHAR( 150 ) NOT NULL,
        PRIMARY KEY ( `zid` )
       )";
тогава вече не става. И тъй като няма да се знае колко неща има в масива( може да е до $a[10], а може и до $a[25]), ако може да бъде и с while, for или както стане.
 
сега и ако ми го напишеш ще си перфектен :P :P , но ако задам 5 например да прави таблицата така:
Код:
.....  $as[0] VARCHAR( 150 ) NOT NULL, $as[1] VARCHAR( 150 ) NOT NULL, $as[2] VARCHAR( 150 ) NOT NULL, $as[3] VARCHAR( 150 ) NOT NULL, $as[4] VARCHAR( 150 ) NOT NULL,
а ако задам 2 пъти полетата да са :
Код:
$as[0] VARCHAR( 150 ) NOT NULL, $as[1] VARCHAR( 150 ) NOT NULL,
Сигурно помниш предната ми статия от вчера. Когато потребителя напише колко полета иска в таблицата си и как да се казват се изпълнява това. ако е избрал 2 полета: $аs[0] и $as[1] и се прави таблицата. Мисля че ме разбра. След малко ще лягам, ако не пиша после пак или не получиш точката днес, бъди сигурен че ще я получиш утре.
 
bgmaniaka каза:
сега и ако ми го напишеш ще си перфектен :P :P , но ако задам 5 например да прави таблицата така:
Код:
.....  $as[0] VARCHAR( 150 ) NOT NULL, $as[1] VARCHAR( 150 ) NOT NULL, $as[2] VARCHAR( 150 ) NOT NULL, $as[3] VARCHAR( 150 ) NOT NULL, $as[4] VARCHAR( 150 ) NOT NULL,
а ако задам 2 пъти полетата да са :
Код:
$as[0] VARCHAR( 150 ) NOT NULL, $as[1] VARCHAR( 150 ) NOT NULL,
Сигурно помниш предната ми статия от вчера. Когато потребителя напише колко полета иска в таблицата си и как да се казват се изпълнява това. ако е избрал 2 полета: $аs[0] и $as[1] и се прави таблицата. Мисля че ме разбра. След малко ще лягам, ако не пиша после пак или не получиш точката днес, бъди сигурен че ще я получиш утре.

Ако е такав работа ...
$query = "CREATE TABLE `zones12` (
`zid` TINYINT( 3 ) UNSIGNED NOT NULL AUTO_INCREMENT,
".implode("VARCHAR( 150 ) NOT NULL",$a)."VARCHAR( 150 ) NOT NULL,
PRIMARY KEY ( `zid` )
)";

П.П. Не парадирайте с тези точки, повечето не сме тук само и единствено заради тях :?
 
Нещо май не можем да се разберем :P Ето част от кода: for($a=0;$a<$_POST['counter'];$a++)
Код:
 {
$as[$a]=$_POST[$a];
 }

И сега искам да създам таблица в database където първото поле да е id например а от там нататък да са $as[0],$as[1], зависимост колко са зададени. Това ми е целта.

П.П. Много хора пишат само заради точките и затова казвам, не знам за какво си тук :D
 
Е явно не може да се разберем o.O
Какво не ти харесва в моя код? Само дето вместо $as, съм го сложил $a
$query = "CREATE TABLE `zones12` (
`zid` TINYINT( 3 ) UNSIGNED NOT NULL AUTO_INCREMENT,
".implode(" VARCHAR( 150 ) NOT NULL,",$as)." VARCHAR( 150 ) NOT NULL,
PRIMARY KEY ( `zid` )
)";
 

Back
Горе