[php-brasil]

29 views
Skip to first unread message

Denis Casarotto

unread,
May 8, 2020, 3:17:18 PM5/8/20
to php-b...@googlegroups.com
Boa tarde,

Pessoal

Travei numa situação...rs
Seguinte...

Estou montando uma query dinamica aonde na tela o usuário seleciona as colunas e o PHP monta a query e executa.
Preciso exibir o resultado na tela, porém estou com dificuldades... rs

No PHP:
public function getRelFuncionarios($columnas){
$sql = "SELECT {$columnas} FROM VW_FUNCIONARIO ORDER BY 1";

return $this->db->select($sql);
}
$columnas -> as colunas separadas por virgulas

Como eu monto o resultado? Por que neste tipo de execução a unica forma de eu exibir o conteudo da coluna é assim:

foreach($data['relatorios'] as $relatorios) {
                        $conteudo .= '<tr>';
                        $conteudo .= '<td>'.$relatorios->EMPRESA.'</td>';
                        $conteudo .= '<td>'.$relatorios->NOME.'</td>';
                       $conteudo .= '</tr>';
Deste jeito se eu souber as colunas, porém no caso eu não sei que coluna vai vir.
Não consigo fazer: $relatorios->$coluna (variável em variável)
}

Preciso de um help...rs

Conexão PDO



Atenciosamente,

Denis Casarotto
Cel.: 11 9-71397508
denisca...@gmail.com

Yo soy la vid, vosotros los pampanos; el que permanece en mi y yo en él, este lleva mucho fruto; porque separados de mi , nada podeis hacer (Juan 15.5)
----------
Esta mensagem pode conter informações confidenciais e/ou privilegiadas.
Se você não for o seu destinatário, favor comunicar imediatamente ao remetente e destruir todas as informações e suas copias.
 
This message may contain information which is confidential and/or privileged.
If you are not the intended recipient, please advise the sender immediately and destroy it and all copies.

Este mensaje puede contener informaciones confidenciales y/o privilegiadas.
Si usted no fuere su destinatario, favor comunicar inmediatamente al remitente y destruir todas las informaciones y suyas copias.

Maicon Strey

unread,
May 8, 2020, 3:27:10 PM5/8/20
to php-b...@googlegroups.com
Denis,
se esse retorno é um array tu pode usar o array_keys pra pegar uma lista com todas as chaves do array:
https://www.php.net/manual/en/function.array-keys.php

se for um objeto tu podes fazer um cast pra array ou usar o get_object_vars 

Uma vez com a lista tu podes fazer um outro foreach pra incluir as colunas.

Vê o que fica melhor ai pro teu projeto.


Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
------------------


--
Você recebeu essa mensagem porque está inscrito no grupo "php-brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para php-brasil+...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/php-brasil/CAA4TZ9Agv-%2BNhdkSZTj03ZpQ022psvg4O_z2vX13YXtH7fRWbg%40mail.gmail.com.

Denis Casarotto

unread,
May 11, 2020, 1:10:50 PM5/11/20
to php-b...@googlegroups.com
Boa tarde,

Maicon

Muito obrigado pela ajuda... consegui
Vou colocar aqui o código caso alguém precise:
// Retorno do banco
                    $json = json_encode($data['relatorios']);
                    $obj = json_decode($json);
                    for($i=0; $i<count($obj); $i++) {
                        $conteudo .= '<tr>';
                        $conteudo .= '<td>'.$obj[$i]->{'EMPRESA'}.'</td>';
                        $conteudo .= '<td>'.$obj[$i]->{'NOME'}.'</td>';
                        for($c2=0; $c2<count($astrcolunas); $c2++) {
                            $conteudo .= '<td>'.$obj[$i]->{$astrcolunas[$c2]}.'</td>';
                        }
                        $conteudo .= '</tr>';
                    }

Converti para JSON e fiz um for para ler ele.... top

Valeu



Atenciosamente,

Denis Casarotto
Cel.: 11 9-71397508
denisca...@gmail.com

Yo soy la vid, vosotros los pampanos; el que permanece en mi y yo en él, este lleva mucho fruto; porque separados de mi , nada podeis hacer (Juan 15.5)
----------
Esta mensagem pode conter informações confidenciais e/ou privilegiadas.
Se você não for o seu destinatário, favor comunicar imediatamente ao remetente e destruir todas as informações e suas copias.
 
This message may contain information which is confidential and/or privileged.
If you are not the intended recipient, please advise the sender immediately and destroy it and all copies.

Este mensaje puede contener informaciones confidenciales y/o privilegiadas.
Si usted no fuere su destinatario, favor comunicar inmediatamente al remitente y destruir todas las informaciones y suyas copias.

washington andre muller da silva

unread,
Aug 16, 2020, 8:02:42 PM8/16/20
to php-b...@googlegroups.com

Caros colegas

Tenho a seguinte função que me retorna o numero da semana do ano.

// Função que retorna o numero da semana do ano
function SemanaAno($data){
   // Inverte mes e dia para mostrar
   $data_e = explode("/", $data);
   list($dia, $mes, $ano) = $data_e;
   $data_invertida = "$mes/$dia/$ano";
   
   $data = strtotime($data_invertida);
   $sem = strftime("%V",$data);
   return $sem;
}

Só que ela inicia a semana na segunda-feira, e olhando o calendário com as semanas, não bate. Por exemplo:

dia 02/08/2020 semana 32 no calendário, mas a minha rotina acima, informa como 31.
dia 03/08/2020 semana 32 no calendário e na minha rotina também 32.

Ou seja, minha rotina inicia a contagem da nova semana, sempre na segunda-feira.

Alguém tem uma rotina, que retorne a semana corretamente, exatamente igual a qualquer calendário?

Até pensei em verificar se a data é domingo e dai somar 1 na semana, mas dai teria que verificar se o ano tem 52 ou 53 semanas.

--



Atenciosamente

Washington André Muller da Silva
Fone: (51) 984-842206
Washington Voleibol
Site: www.wvoleibol.blogspot.com

Alexandre Di Salvo

unread,
Aug 16, 2020, 9:20:10 PM8/16/20
to php-b...@googlegroups.com
Boa noite amigo,

Usando o parâmetro "W", resolveria seu caso?

$d = new \DateTime();
echo $d->format("W");


Best regards / Atenciosamente,


Alexandre Di Salvo
   

--
Você recebeu essa mensagem porque está inscrito no grupo "php-brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para php-brasil+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages