Advertisement
Guest User

Untitled

a guest
Feb 24th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. <?php
  2. $dbserver = "[your database server";]
  3. $dbname = "[your database name]";
  4. $dbuser = "[your user]";
  5. $dbpassword = "[your password]";
  6.  
  7. mysql_connect($dbserver,$dbuser,$dbpassword) or die('Could not connect: ' . mysql_error());
  8. mysql_select_db($dbname);
  9.  
  10. $fileName = "sponsors.txt";
  11. $tableName = str_replace(".txt","",$fileName);
  12. echo $fileName;
  13.  
  14. $rowcount = 1;
  15. foreach (file($fileName) as $row)
  16. {
  17. $rowArray = explode(chr(124),$row);
  18.  
  19. if($rowcount==1)
  20. {
  21. $fieldArray = array();
  22. $fieldSizeArray = array();
  23. //echo "<strong>Fields:</strong><br />";
  24. foreach($rowArray as $field)
  25. {
  26. $field = strtolower($field);
  27. echo $field . "<br />";
  28. array_push($fieldArray,$field);
  29. }
  30. }
  31. else
  32. {
  33. $fieldCount = 1;
  34. foreach($rowArray as $field)
  35. {
  36. $field = strtolower($field);
  37. $fieldlegnth = strlen($field);
  38. if(isset($fieldSizeArray[$fieldCount]))
  39. {
  40. if($fieldSizeArray[$fieldCount] < $fieldlegnth)
  41. {
  42. $fieldSizeArray[$fieldCount] = $fieldlegnth;
  43. }
  44. }
  45. else
  46. {
  47. $fieldSizeArray[$fieldCount] = $fieldlegnth;
  48. }
  49. $fieldCount ++;
  50. }
  51. }
  52.  
  53. $rowcount++;
  54. }
  55.  
  56. //Create Table
  57. $checkLikeTableQuery = "show tables from clinical_trials like " . chr(34) . $tableName . chr(34);
  58. $checkLikeTableResult = mysql_query($checkLikeTableQuery) or die('Query failed: ' . mysql_error());
  59. if($checkLikeTableResult && mysql_num_rows($checkLikeTableResult))
  60. {
  61. $checkLikeTableResult = mysql_fetch_assoc($checkLikeTableResult);
  62. }
  63. else
  64. {
  65. $CreateTableQuery = "CREATE TABLE `clinical_trials`.`" . $tableName . "` (" . chr(13);
  66. $CreateTableQuery .= "`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,";
  67. $fieldcount = 1;
  68. foreach($fieldArray as $field)
  69. {
  70. $field = trim($field);
  71. if($field=='group_id')
  72. {
  73. $field = 'group_id';
  74. }
  75. $fieldsize = $fieldSizeArray[$fieldcount];
  76. if($fieldsize < 100)
  77. {
  78. $CreateTableQuery .= "`" . $field . "` varchar(100) NULL,";
  79. }
  80. elseif($fieldsize > 100 && $fieldsize < 1500)
  81. {
  82. $CreateTableQuery .= "`" . $field . "` varchar(1000) NULL,";
  83. }
  84. else
  85. {
  86. $CreateTableQuery .= "`" . $field . "` text,";
  87. }
  88. $fieldcount++;
  89. }
  90.  
  91. $CreateTableQuery .= "PRIMARY KEY (`ID`)";
  92. $CreateTableQuery .= ") ENGINE=InnoDB DEFAULT CHARSET=latin1;";
  93. mysql_query($CreateTableQuery) or die('Query failed: ' . mysql_error());
  94.  
  95. }
  96.  
  97. $rowcount = 1;
  98. foreach (file($fileName) as $row)
  99. {
  100. $rowArray = explode(chr(124),$row);
  101.  
  102. if($rowcount > 1) // && $rowcount < 10
  103. {
  104.  
  105. $InsertQuery = "INSERT INTO `clinical_trials`.`" . $tableName . "`(";
  106. $first = 1;
  107. foreach($fieldArray as $field)
  108. {
  109. $field = trim($field);
  110. $InsertQuery .= $field;
  111. if($first < count($fieldArray)){ $InsertQuery .= ','; $first++; }
  112. }
  113.  
  114. $InsertQuery .= ") VALUES(";
  115.  
  116. $fieldcount = 1;
  117. $first = 1;
  118. foreach($rowArray as $value)
  119. {
  120. $InsertQuery .= "'" . mysql_real_escape_string(trim($value)) . "'";
  121. if($first < count($rowArray)){ $InsertQuery .= ','; $first++; }
  122. }
  123.  
  124. $misscount = count($fieldArray) - count($rowArray);
  125.  
  126. for ($x = 0; $x <= $misscount; $x++)
  127. {
  128. $InsertQuery .= "''";
  129. if($x < $misscount){ $InsertQuery .= ", ";}
  130. }
  131.  
  132. $InsertQuery .= ")";
  133. echo $InsertQuery . "<br />";
  134.  
  135. try
  136. {
  137. mysql_query($InsertQuery);
  138. }
  139. catch (Exception $e)
  140. {
  141. echo 'Caught exception: ', $e->getMessage(), "\n";
  142. }
  143. }
  144. $rowcount++;
  145. }
  146. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement