As variáveis globais teriam como nome o mesmo do campo (que é o mesmo nome que a coluna da tabela associada a esse dado) e como valor, o dado que salva essa fila na coluna determinada.
| Nota: Este artigo é similar a outro no qual se realiza um percorrido genérico às variáveis recebidas por POST. As explicações desse artigo podem ser bom para compreender melhor este. |
Para uma tabela como esta:
| id_cliente | nome_cliente | telefone_cliente |
| 1 | Pedro | 90 000 00 00 |
| 2 | Joao | 99 888 88 88 |
| 3 | Maria | 999 99 99 99 |
Se a função recebesse uma fila qualquer, se gerariam variáveis com nomes id_cliente, nome_cliente e telefone_cliente e seus valores seriam os dessa fila em concreto. Para a fila 1, se gerariam as variáveis:
id_cliente=1
nome_cliente="Pedro"
telefone_cliente="90 000 00 00"
O percorrido será genérico, por isso servirá para qualquer tabela, com qualquer número e nome das colunas. As variáveis geradas serão sempre as colunas que existam, com os valores da fila que tiver recebido por parâmetro.
Esta função é muito útil para receber os dados de uma fila e colocá-los em variáveis globais, para logo operar com eles. Como o percorrido é genérico, tanto faz o número, nome e tipo dos campos que se colocarão nas variáveis.
function recebe_fila($fila){
foreach($fila as $nome_campo => $valor){
if (gettype($nome_campo)!="integer"){
$atribuicao = "\$GLOBALS[\"" . $nome_campo . "\"]='" . $valor . "';";
eval($atribuicao);
//echo $ atribuicao . "<br>";
}
}
}
Um exemplo de uso desta função
Vejamos como utilizar esta função para receber os dados de uma fila. Supõe-se que antes de executar estas linhas deve-se ter aberto uma conexão com o banco de dados. Também se supõe que depois de executar este código, se deveria fechar essa conexão com o banco de dados.
$ssql="select * from cliente where id_cliente=2";
$rs=mysql_query($ssql);
$fila=mysql_fetch_array($rs);
recebe_fila($fila);
Depois destas linhas, terão se criado as variáveis globais com os dados da fila extraída da tabela cliente, uma variável para cada uma das colunas da fila.