我被赋予了将硬编码字段转换为动态字段的任务。我已将其部分更改为动态字 让我向你解释一下情况,
我们有很多数据库,每个数据库都有一个名为Surveys的表格
通过使用DESCRIBE语句,无论数据库如何,我们都将检索Surveys表中的字段。
我需要知道我们可以反复循环的方式,直到调查表中的所有字段出现。
在下面的代码中,我将for循环留空了。
请让我知道为使这项工作需要做的改变
我真的很感激任何帮助
function insertIntoUserUploadFileds() {
$describe="DESCRIBE surveys";
$sql = "INSERT INTO `userUploadFields` (`fieldName`, `inUse`, `mandatory`, `type`, `mapTo`) VALUES";
$inUse="0";
$type="";
//for(){
if($field=='type'){
$type="N";
}elseif(($field=='fname') || ($field=='lname') || ($field=='phone')){
$inUse="1";
$type="T";
}elseif($field=='email'){
$inUse="1";
$type="E";
}
//$sql .= "('".$field."', '".$inUse."', '0', '
$result1 = mysql_query ($describe);
$result = mysql_query ($sql);
//}
}
答案 0 :(得分:0)
$result1 = mysql_query ('DESCRIBE surveys');
//here is how you retieve all field and check
while($row = mysql_fetch_array($result1)) {
$sql = "INSERT INTO `userUploadFields` (`fieldName`, `inUse`, `mandatory`, `type`, `mapTo`) VALUES";
//here you can do if else to check the column name
if($row['field']=='type')
{
$type="N";
}
else if(($row['field']=='fname') || ($row['field']=='lname') || ($row['type']=='phone'))
{
$inUse="1";
$type="T";
}
else ($row['field']=='email')
{
$inUse="1"
$type="E";
}
//build your query
$sql .= "('".$field."', '".$inUse."', '0', '......)
//execute your complete query
$result = mysql_query ($sql);
}//end of while
答案 1 :(得分:0)
如果您尝试检索特定列的默认DESCRIBE
,而不是使用type
,则可以查看此内容。它描述了如何分解特定表中的信息。 Codex