html - html表中的mysql输出-shell脚本

标签 html mysql shell unix

我正在执行一个 mysql 查询,在 shell 脚本中返回两列

TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "SELECT table_name, ROUND(((data_length + index_length) / 1024 / 1024 / 1024), 2) AS table_size FROM information_schema.tables WHERE table_schema = 'inventory' AND CREATE_TIME < DATE(NOW()) -INTERVAL 7 DAY" | awk '{ print $1}' | grep -v '^table_name' )

如何将其存储在二维数组中并将结果显示为 html 表格?

作为解决方法,我正在执行两个 mysql 查询并将结果存储在两个单独的数组中

    TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "SELECT table_name FROM information_schema.tables WHERE table_schema = 'inventory' AND CREATE_TIME < DATE(NOW()) -INTERVAL 7 DAY" | awk '{ print $1}' | grep -v '^table_name' )

    declare -a TABLE_SIZE=($($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "SELECT ROUND(((data_length + index_length) / 1024 / 1024 / 1024), 2) AS table_size FROM information_schema.tables WHERE table_schema = 'inventory'  AND CREATE_TIME < DATE(NOW()) -INTERVAL 7 DAY" | awk '{ print $1}' | grep -v '^table_size' ))
    #IF there are no tables in databse
    if [ "$TABLES" == "" ]
    then
            echo "Error - No table found in $MDB database!"
            exit 3
    fi
    i=0
    for t in $TABLES
    do
            #echo "Deleting $t table from $MDB database..."
            str="<tr><td> $t </td><td>${TABLE_SIZE[$i]}</td></tr>"
            i=`expr $i + 1`
            table_array+=$str
    done
    table_array+="</table>"

最佳答案

如果您不需要列名,一个选项是让 mysql 使用 -H 选项和 -N 选项为您执行此操作.

mysql -H -N -u $MUSER -p $MPASS -h $MHOST $MDB < your_sql

如果您需要额外的 html 自定义,您可以这样做:

#!/bin/bash

# Set the internal file separator to newline.
IFS=$'\n'

echo "<table>"

# Loop over each row.
for line in $(mysql -N ... < your.sql)
do
  echo "  <tr>"

  # Set the internal file separator to space/tab.
  IFS=$' \t'

  # Create columns array.
  columns=($line)

  echo "    <td>${columns[0]}</td>"
  echo "    <td>${columns[1]}</td>"

  echo "  </tr>"
done

echo "</table>"

关于html - html表中的mysql输出-shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33930532/

相关文章:

regex - 使用正则表达式模式验证 bash 中的用户输入时间

javascript - 使用javascript从谷歌图片中获取随机图片

php - 我如何在日期和状态之间求和

python - 如何高效地跨 X 天运行相同的查询?

mysql - 奇怪的sql错误,变量没有被正确识别

bash - GNU Screen - 在 shell 或脚本的后台运行命令中创建 screen

c - 重定向子进程的输出

html - 中间带有纯文本的相邻 CSS 选择器仍然匹配

javascript - 如何在鼠标移出时结束 .switchClass 事件?

javascript - 前置滚动问题