从SHOW COLUMNS mysql中排除某些列

ben*_*e89 7 php mysql select while-loop

我有这个查询:SHOW COLUMNS FROM mash在我的while循环中可以正常工作,用于构建由表列名称构成的select元素.但在我的表中我有"id"和"tstamp",我不想在select元素中,这是否可以排除这些列?

echo "<form action='".$_SERVER['PHP_SELF']."' method='get'>";
            connectDB();
            $result = mysql_query("SHOW COLUMNS FROM mash") or die(mysql_error());
            echo '<select name="column" class="column">';
            while ($row = mysql_fetch_array($result)) {
                echo "<option value='".$row[0]."'>".ucwords($row[0])."</option>";
            }
            closeConn();
            echo '</select>';
echo "</form>";
Run Code Online (Sandbox Code Playgroud)

sha*_*mar 14

PHP方式:

continue在获取这些字段时,在while循环中使用a ,如下所示:

echo "<form action='".$_SERVER['PHP_SELF']."' method='get'>";
    connectDB();
    $result = mysql_query("SHOW COLUMNS FROM mash") or die(mysql_error());
    echo '<select name="column" class="column">';
    while ($row = mysql_fetch_array($result))
    {
        if($row[0] == 'id' || $row[0] == 'tstamp')
              continue;
        echo "<option value='".$row[0]."'>".ucwords($row[0])."</option>";
    }
    closeConn();
    echo '</select>';
echo "</form>";
Run Code Online (Sandbox Code Playgroud)

这将跳过idtstamp字段并处理所有其他字段.continue在循环结构中用于跳过当前循环迭代的其余部分,并在条件评估和下一次迭代开始时继续执行.


MySQL方式:

删除查询中的这些字段,如下所示:

SHOW COLUMNS FROM mash WHERE Field NOT IN ('id', 'tstamp');
Run Code Online (Sandbox Code Playgroud)