从数据库导入数据的方法

时间:2018-11-21 07:42:13

标签: php database web-applications

我正在创建一个Web应用程序,用于显示数据库中包含的数据。 我编写了代码,并且该应用程序正常运行,至少具有基本功能。 我已经在考虑未来,这就是为什么我寻求您的帮助。 如果要更改数据库列的名称或添加一些新列,如果我希望它们显示在Web应用程序中,则必须修改代码的每个页面。 因此,我想问你是否可以在文本文件中写入要导入的列名,然后调用该文件来定义应在网络上显示哪些数据库的列。 我将为您附上我现在编写的代码,以便您可以更好地理解我要更改的部分(这是“ while循环”之一)。

<html>
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
</head>

<body>
<div id="holder">
<h1><?php echo "<font face=verdana size=30 color=#036>CAMBIO AMINOACIDICO</font>";?></h1></div>
<br>


<div id="sidebar" style="width:90%" class="sidebar">
  <A HREF="ricerca_var_AA.php" class="w2-bar-item w2-button">NUOVA RICERCA</A>
  &nbsp;&nbsp;&nbsp | &nbsp;&nbsp;&nbsp; 
  <A HREF="ricerca_paziente.php" class="w2-bar-item w2-button">RICERCA PER PAZIENTE</A>
  &nbsp;&nbsp;&nbsp | &nbsp;&nbsp;&nbsp;
  <A HREF="ricerca_gene.php" class="w2-bar-item w2-button">RICERCA PER GENE</A>
  &nbsp;&nbsp;&nbsp | &nbsp;&nbsp;&nbsp;
  <A HREF="ricerca_var.php" class="w2-bar-item w2-button">RICERCA PER VARIANTE</A>
  &nbsp;&nbsp;&nbsp | &nbsp;&nbsp;&nbsp;
  <A HREF="home.php" class="w2-bar-item w2-button">HOME</A>
  <P>&nbsp;</P>
</div>

<div class="container">
<?php
$conn= mysql_connect("loc", "db", "pss");
if (!$conn)
{
     die("Connessione non riuscita <br>" . mysql_error());
//}else{
    //echo "Connessione al database stabilita con successo<br><br>";
}

mysql_select_db("variant_db", $conn);

if(isset($_POST["vai"])){
   $aa=$_POST["aa"];
}
echo "Verranno visualizzate le varianti per il seguente cambio di aminoacido:'<b>$aa</b>'.";?>
<br /><br />

<?php
     $sql="SELECT A.AAchange, V.dnaCode, V.Chr, A.Start, A.End, A.Alt, A.Ref, V.zygosity, A.gene FROM annotazioni as A JOIN variante as V ON V.Start = A.Start AND V.Alt=A.Alt AND V.Ref=A.Ref WHERE A.AAchange='$aa'";
     $result_dna = mysql_query($sql, $conn) or die(mysql_error());

     if(mysql_num_rows($result_dna) == 0)
    {
          echo "<br>La ricerca non ha prodotto alcun risultato!<br>";
          echo"<b>Effettuare una nuova ricerca.</b><br><br>";

    }else
    {?>
        <div class="row">
            <div class="col-mid-8 col-mid-offset-2">
                 <table id="table_var" "width=100%" class="table table-striped table-bordered table-hover">
                     <thead>
                          <tr>
                              <th>AAchange</th>
                              <th>dnaCode</th>
                              <th>Chr</th>
                              <th>Start</th>
                              <th>End</th>
                              <th>Alt</th>
                              <th>Ref</th>
                              <th>Zigosity</th>
                              <th>Gene</th>                    
                        </tr>
                    </thead>
                    <tbody>
                    <?PHP
                         while ($record_dna=mysql_fetch_array($result_dna)){
                             echo '
                                <tr>
                                  <td>'.$record_dna['AAchange'].'</td>
                                  <td>'.$record_dna['dnaCode'].'</td>
                                  <td>'.$record_dna['Chr'].'</td>
                                  <td>'.$record_dna['Start'].'</td>
                                  <td>'.$record_dna['End'].'</td>
                                  <td>'.$record_dna['Alt'].'</td>
                                  <td>'.$record_dna['Ref'].'</td>
                                  <td>'.$record_dna['zygosity'].'</td>
                                  <td>'.$record_dna['gene'].'</td>
                                </tr>
                            ';
                         }
};?>
                    </tbody>
               </table>
            </div>
       </div>
  </div>


         <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous">         </script>
         <script type="text/javascript" src="js/ddtf.js"></script>
         <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js"></script>
         <script type="text/javascript" >
         $('#table_var').ddTableFilter();
         </script>


</body>
</html>

1 个答案:

答案 0 :(得分:-1)

使用txt或xml保留表名并不能真正解决任何问题,并且会带来太多额外的代码。

例如,您有一个表Z,其中有列A, B C。并且您有一段类似于SELECT A, B, C FROM Z的代码。之后,您便有了一些php逻辑。

第一个示例

您确定需要将列D添加到表Z中。

第一个问题

您需要从D列中选择数据吗?

第一个问题

如果您需要选择和处理D列中的数据,将SELECT A, B, C FROM Z更改为SELECT A, B, C, D FROM Z可能是不够的,因为 您没有处理过的任何php逻辑D之前,您必须立即添加它。 -控制执行逻辑的大量额外代码。

第二个示例

您确定表C中不需要数据列Z,并且想要删除整个列。

SECOCD问题

在这里,将SELECT A, B, C FROM Z更改为SELECT A, B FROM Z 100%不够

您有一些php代码可以处理C列中的数据,但是现在您没有C列,因此必须删除代码 。还有很多额外的控制执行逻辑的代码。

第三个示例

您的老板突然告诉您要添加N,并且您没有事先知道会发生这种情况的知识。

第三个问题

您不可能以任何方式预见到它,因此您绝不可能尽早编写所有所需的额外代码。 您仍然必须手动执行所有操作。

以上所有示例均显示,即使您添加了用于控制执行逻辑的代码,通常也无法预测结构可能会发生的变化。

所有额外的代码都失去了它的价值,因为您做了未曾预见的更改,除了重写原始逻辑之外,您还必须现在重新编写整个代码以获取额外的逻辑。

结合以上所有内容,开发代码会带来风险,如果发生重大结构更改,则必须重新编写代码。

我希望它能提供一些信息。