[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Paginar resultados em html
From: |
Alexandre Gorges |
Subject: |
Paginar resultados em html |
Date: |
Fri, 16 Jan 2009 23:45:28 -0200 |
User-agent: |
Microsoft-Entourage/12.15.0.081119 |
Boa noite pessoal, programo com shell a bastante tempo e de uns tempos pra
cá tenho me aprofundado ainda mais.
Possuo um sistema de gestão de servidores va web, interagindo com o servidor
via shell.
Até hoje tenho feito praticamente tudo com o shell. Uso bem pouco do PHP,
apenas para chamar o script shell.
Acontece que estou com um problema que é fazer uma listagem ser dividida em
páginas. Como se fosse um resultado de busca
do google. Meu desejo é dividir em páginas com 20 resultados.
O meu script hoje consulta no mysql e monta o html. Funciona perfeitamente,
mas existe alguns servidores que possuem muitos emails, e o html
fica gigante. Visualizando o meu script abaixo, é possível via shell criar
essas páginas?
Email_listatodos)
# converte data de aaaa-mm-dd para dia/mes/ano
data_mysql-to-brasil(){
echo "$*" | sed
's,\([0-9]\{4\}\)-\([0-9][0-9]\)-\([0-9][0-9]\),\3/\2/\1,'
}
# verifica se o email esta ativo
esta_ativo(){
if [ "$*" = "1" ]; then
echo "Sim"
else
echo "Não"
fi
}
#divide a quota por 1024
divide_quota(){
echo $(( $* / 1024 ))
}
# Executa a pesquisa no banco do postfix
S=$(mysql -u server -e "SELECT * FROM mailbox order by
username" postfix)
# a procura retornou algum registro ?!
[ "$S" ] || { echo "Sem registro";exit; }
# colocar um TAB como IFS
IFS="$(echo -e '\t')"
# Apaga a primeira linha, ela contem o nome dos campos
S=$(echo "$S" | sed '1d')
echo "<p> </p>"
echo "<table width=\"335\" height=\"49\" border=\"0\"
align=\"center\" cellpadding=\"0\" cellspacing=\"0\">"
echo " <tr>"
echo " <th height=\"15\" colspan=\"2\"
bordercolor=\"#000000\" bgcolor=\"#BABABA\" class=\"f01\"
scope=\"col\">Usuários do
Email</th>"
echo " </tr>"
# coloca um espaco em branco entre TABs repetidos (\t\t)
echo "$S" | sed ":a;s/\(`echo -e '\t'`\)\(\1\)/\1 \2/;ta" |
\
while read username password name maildir quota domain
created modified active relay; do
echo " <tr>"
echo " <th width=\"97\" height=\"68\" valign=\"top\"
class=\"f02\" scope=\"col\"><div align=\"left\">"
echo " Nome:<br />"
echo " Email:<br />"
echo " Quota:<br />"
echo " Criado em:<br />"
echo " Ativo:<br />"
echo " </div><div align=\"left\"></div></th>"
echo " <th width=\"285\" valign=\"top\" class=\"f02\"
scope=\"col\">"
echo " <div align=\"right\">"
echo " $name<br />"
echo " $username<br />"
echo " $(divide_quota $quota) MB<br />"
echo " $(data_mysql-to-brasil $created)<br />"
echo " $(esta_ativo $active)<br />"
echo " </div></th>"
done
echo "</tr></table>"
;;
Qualquer ajuda ficarei muito grato.
[]'s
Alexandre Gorges
http://algorges.blogspot.com
MSN/Gtalk/iCHAT/Skype/Jabber: address@hidden
[As partes desta mensagem que não continham texto foram removidas]
- Paginar resultados em html,
Alexandre Gorges <=