简体   繁体   English

从 MySQL 表中选择所有列

[英]Select all columns from MySQL table

I struggle to echo content of certain columns from certain tables depends on user selection - for now I had only one table and code below work perfect but certainly other tables don't have same col names and values so I try to modify it - so far I'm stuck.How can I make it dynamic?我很难从某些表中回显某些列的内容取决于用户选择 - 现在我只有一个表和下面的代码工作完美但当然其他表没有相同的列名和值所以我尝试修改它 - 到目前为止我被卡住了。我怎样才能让它动态?

humble ask for some help :)谦虚地寻求一些帮助:)

<?php
function showTables($table, $order) {
    global $conn;
    $query = ("SELECT * FROM $table ORDER BY $order ASC LIMIT 0, 30 ");
    $returnTables = mysqli_query($conn, $query);

    while ($row = mysqli_fetch_assoc($returnTables)) {
        $id = $row['id'];
        $name = $row['name'];
        $surrname = $row['surrname'];
        $email = $row['email'];
        $firstTime = $row['firstTime'];
        $comment = $row['comment'];

        echo "<tr>";    
            echo "<td>$name</td>";
            echo "<td>$surrname</td>";
            echo "<td>$email</td>";
            echo "<td>$firstTime</td>";
            echo "<td>$comment</td>";         
            echo "<td class='no-print'><a href='admin.php?delete={$id}'>Usuń</a></td>"; 
        echo "</tr>";
    }
}
?>

Simple get columns name from your TABLE,简单地从您的 TABLE 中获取列名,

eg,例如,

$sql = "SHOW COLUMNS FROM your-table";
$result = mysqli_query($conn,$sql);

while($row = mysqli_fetch_array($result)){
  echo $row['Field']."<br>";
}

EDIT 2 :编辑 2:

Complete Dynamic example( need to format tr and td )完整的动态示例(需要格式化 tr 和 td )

function showTables($table, $order) {

    global $conn;

    $query = "SELECT * FROM $table ORDER BY $order ASC LIMIT 0, 30 ";
    $returnTables = mysqli_query($conn, $query);

    $sql_columns_name = "SHOW COLUMNS FROM $table";

    $sql_columns_result = mysqli_query($conn,$sql_columns_name);

    $column_arr = array();

    while($row = mysqli_fetch_array($sql_columns_result)){
      $column_arr[] = $row['Field'];
    }

    echo '<table>';

    while ($row = mysqli_fetch_array($returnTables)) {

        for ($i=0; $i < count($column_arr); $i++) {
            echo "<tr>";  
              echo "<td>".$row[$column_arr[$i]]."</td><br>";
            echo "</tr>";
        }

    }

    echo '</table>';
}

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

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