我一直在尝试创建一个允许用户使用动态生成的表格创建MySQL表格。用户最初输入所需的表名,然后输入他们想要的行数。当他们键入数字时,会创建等量的表格行。每个创建的字段都有一个名称,如“fieldName []”。我希望创建一个数组,然后使用创建的数组完成表创建查询。我能得到它的工作,我怎么想,如果我使用的是这样的:使用动态创建表格创建MySQL表格
$myarray = array("key1"=>array($fieldName[0],$fieldName[1],$fieldName[2]),
"key2"=>array($fieldType[0],$fieldType[1],$fieldType[2]),
"key3"=>array($fieldLength[0],$fieldLength[1],$fieldLength[2]));
的Javascript动态记录创造者:
function numFields(nums) {
var str = "";
for (i = 0; i < nums; i++) {
str += '<p><label style="padding-left:10px;">Name: <input type="text" value="fred'+(i+1)+'" name="Name[]" id="newtblname'+(i+1)+'" /></label></p>';
}
document.getElementById('Fields').innerHTML = str;
}
而且PHP:
if (isset($_GET['tabletest'])) {
$Name=$_POST['Name'];
$x=0;
foreach($Name as $value) {
$names= $value;
echo $Name[$x];
echo "<br>";
$x++;
}
}
解决方案:这里是我上班的代码:
$fieldsNum = $_POST['fieldsNum'];
$tblName = $_POST['tblName'];
$nameArray=$_POST['Name'];
$x = 0;
$tables = 'CREATE TABLE '.$tblName.' (';
foreach($nameArray as $value) {
$tables .= $value . " CHAR(200)";
$x++;
if($x<$fieldsNum) {
$tables .= ", ";
}
}
$tables .= ');';
echo $tables;
}
亲爱的你所描述的事情可以完成。但你必须更新你的问题,并显示你有什么尝试。人们在这里不会为你编码。他们会看到你的代码,如果有人遗漏他们会给你提供建议。谢谢。 – 2014-09-13 04:45:15
这是在公共互联网上吗?如果是这样,你将如何保护它? – tadman 2014-09-16 15:06:14
我已经更新了我的问题,包括我尝试过的东西。至于它是否在公共互联网上。不,这是给我的同事和我。 – 2014-09-16 15:12:25