我一直在嘗試創建一個允許用戶使用動態生成的表格創建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