2012-11-16 71 views
0

我一直在考慮一個任務轉換的硬編碼領域爲動態fields.I已經部分改變它的動態
讓我解釋一下你的情況,硬編碼到動態值

我們有很多的數據庫和每個數據庫都有一個名稱表Surveys

通過使用DESCRIBE語句,我們將檢索Surveys表中的字段,而不管數據庫如何。

我需要知道我們可以一次又一次循環直到調查表中的所有字段出現的方式。

在下面的代碼中,我已將for循環留空。

請讓我知道neeeds工作要做,以得到這個工作

我真的很感激任何形式的幫助

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); 
    //} 
} 
+1

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護,[棄用過程](http://j.mp/Rj2iVR)已經開始。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – hakre

回答

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 
+0

如果我沒有正確解釋,我很抱歉。我需要打印從調查表 – jat

+0

打印的所有字段的默認值,表示您希望在插入後顯示所有內容? –

+0

我真的很感激你的耐心。謝謝 。是的。通過使用Describe語句,我們打印所有的字段。隨着他的領域,我也想打印值。 – jat

0

而不是使用DESCRIBE,如果你想改變要檢索特定列的默認type,您可以查看此列。它描述瞭如何分解特定表中的信息。 Codex