繁体   English   中英

如何使用数据库中的数据动态创建新表(php)?

[英]how can I dynamically create a new table (php) using data from a data base?

第一次问,所以请很好:)...我试图根据我的数据库带来的内容动态创建一个新表。 该表应具有3列,每列都有自己的标题(第一种情况:“ plants”,第二种:“ users”,第三种:“ email”),行数与从db引入的数据一样多。 同样,每个数据都重定向到另一个php链接。 你能帮我么?

这是页面外观的一种图形:

我试图做的表的例子

这是我的代码:

<?php
    $cn = mysql_connect("localhost","pablokvitca","") or   
        die("No se pudo conectar: " . mysql_error());
    mysql_select_db("gaea");
    $searched=$_GET['search'];
    $sql1= "SELECT * FROM  Plantas WHERE Nombre LIKE '%$searched%'";
    $sql2= "SELECT * FROM Usuarios WHERE Username LIKE '%$searched%'";
    $sql3= "SELECT * FROM  Usuarios WHERE email LIKE '%$searched%'";

    $result1=mysql_query($sql1);
    $result2=mysql_query($sql2);
    $result3=mysql_query($sql3);

    $e1 = "";
    $e2 = "";
    $e3 = "";

    $e1.='<table align="center" align="top">';
    //$e1.='<th>Plantas</th>';
    //$e2.='<th>Usuarios</th>';
    //$e3.='<th>Mails</th>';
    while ($row1 = mysql_fetch_array($result1)) { //plants
        $e1 .= '<tr  align=left>';
        $pln = $row1['Nombre'];
        $idp = $row1['idPlanta'];
        $e1 .= '<td>';
        $e1 .= "<div style=color:black;margin-left:50px;font-size:25px;>";
        $e1 .= '<p> <a href="newPlanta.php?pltID='.$idp.'&viewer=true">Planta:'.$pln.'</a></p>';

        $e1 .= "</div>";
        $e1 .= '</td>';
        $e1 .= '</tr>';
    }
    echo $e1;
     //$e1.='</tr>';
    //echo $e1;
    while ($row2 = mysql_fetch_array($result2)) { //user
        $e2 .= '<tr align=left>';
        $usu = $row2['username'];
        $e2 .= '<td>';
        $e2 .= "<div style=color:black;margin-left:50px;font-size:25px;>";
        $e2 .= '<p> <a href="perfil.php?id='.$usu.'">Usuario:'.$usu.'</a></p>';
        $e2 .= "</div>";
        $e2 .= '</td>';
        $e2 .= '</tr>';

    }
    echo $e2;
    while ($row3 = mysql_fetch_array($result3)) { //email
        $ml = $row3['username'];
        $e3 .= '<tr align=left>';
        $e3 .= '<td>';
        $e3 .= "<div style=color:black;margin-left:50px;font-size:25px;>";
        $e3 .= '<p> <a href="perfil.php?id='.$ml.'">Email:'. $row3['email'].'</a></p>';
        $e3 .= "</div>";
        $e3 .= '</td>';
        $e3 .= '</tr>';
    }
        echo $e3;
     $e3.='</table>';
?>

我必须承认,但我不明白为什么要这样安排这张桌子。 但是,我无法抗拒挑战!

我获取了所有数据,并使用所需的相同表结构构建了一个数组。 然后,一旦数组完成,我们就可以运行一个foreach循环来构建表。

我没有对此进行测试,因为我没有要运行的数据库。 在我的脑海中,它虽然有效。

<?php
  // Build an array holding all of the data from each table
  $rowNum = 0; // Start the count

  while ($row1 = mysql_fetch_array($result1)) { //plants
    $data[$rowNum]['col1']['Nombre'] = $row1['Nombre'];
    $data[$rowNum]['col1']['idPlanta'] = $row1['idPlanta'];
    $rowNum++;
  }

  $rowNum = 0; // Restart the row count
  while ($row2 = mysql_fetch_array($result2)) { //user
    $data[$rowNum]['col2'] = $row2['username'];
    $rowNum++;
  }

  $rowNum = 0; // Restart the row count
  while ($row3 = mysql_fetch_array($result3)) { //email
    $data[$rowNum]['col3']['username'] = $row3['username'];
    $data[$rowNum]['col3']['email'] = $row3['email'];
    $rowNum++;
  }

?>

<table align="center" align="top">
  <tr>
    <th>Plants</th>
    <th>Users</th>
    <th>Emails</th>
  </tr>
<?php
  // Run a foreach on the array to build out the table:
  foreach($data as $key => $row){?>

  <tr>
    <td>
      <?php 
        if(is_array($row['col1'])){
          echo '<div style="color:black;margin-left:50px;font-size:25px;">';
          echo '<p> <a href="newPlanta.php?pltID='.$row['col1']['idPlanta'].'&viewer=true">Planta:'.$row['col1']['Nombre'].'</a></p>';
          echo '</div>';
        }
      ?>
    </td>
    <td>
      <?php 
        if($row['col2']){
          echo '<div style="color:black;margin-left:50px;font-size:25px;">';
          echo '<p> <a href="perfil.php?id='.$row['col2'].'">Usuario:'.$row['col2'].'</a></p>';
          echo '</div>';         
        }
      ?>
    </td>
    <td>
      <?php 
        if(is_array($row['col3'])){
          echo '<div style="color:black;margin-left:50px;font-size:25px;">';
          echo '<p> <a href="perfil.php?id='.$row['col3']['username'].'">Usuario:'.$row['col3']['email'].'</a></p>';
          echo '</div>';        
        }
      ?>
    </td>    
  </tr>

<?php } ?>

</table>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM