Fórum foreach php #585693
10/09/2017
0
Ola pessoal, gostaria de uma auxilio. Estou usando o foreach para listar os dados de uma tabela. Porém está saindo valores repetidos do mesmo registro da tabela.
Abaixo segue o código. Tenho dois registro na tabela de clientes, porém é exibido somente o primeiro, onde na tela está exibindo a primeira letra de cada registro do bd e varias vezes.
Obrigado.
Guilherme Alano
Abaixo segue o código. Tenho dois registro na tabela de clientes, porém é exibido somente o primeiro, onde na tela está exibindo a primeira letra de cada registro do bd e varias vezes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <? php if ($clientes) : ?> <? php foreach ($clientes as $cliente ) : ?> < tr > < td ><? php echo $cliente['id']; ?></ td > < td ><? php echo $cliente['name']; ?></ td > < td ><? php echo $cliente['cpf_cnpj']; ?></ td > < td ><? php echo $cliente['birthdate']; ?></ td > < td ><? php echo $cliente['address']; ?></ td > < td ><? php echo $cliente['zip_code']; ?></ td > < td ><? php echo $cliente['phone']; ?></ td > < td ><? php echo $cliente['modified']; ?></ td > < td class = "actions text-right" > < a href="view.php?id=<?php echo $cliente['id']; ?>" class="btn btn-sm btn-success">< i class = "fa fa-eye" ></ i > Visualizar</ a > < a href="edit.php?id=<?php echo $cliente['id']; ?>" class="btn btn-sm btn-warning">< i class = "fa fa-pencil" ></ i > Editar</ a > < a href = "#" class = "btn btn-sm btn-danger" data-toggle = "modal" data-target = "#delete-modal" data-customer="<?php echo $cliente['id']; ?>">< i class = "fa fa-trash" ></ i > Excluir</ a > </ td > </ tr > <? php endforeach; ?> |
Obrigado.
Guilherme Alano

Guilherme Alano
Curtir tópico
+ 0
Responder
Post mais votado
11/09/2017
Como esta pegando os dados no banco? após pegar receber o array, verifica com DD() para você visualizar. e Posta o resultado e a querry
Danilo Prazeres

Responder
Gostei + 1
Mais Posts
13/09/2017
Guilherme Alano
Do banco esta pegando normalmente, a consulta retorna o solicitado. Com o dd() ele esta me retorna registro duplicados. Pelo o que vi, um total de 14 registro e todos iguais. Mas no banco tenho registros diferentes. Segue abaixo o print_r() da consulta.
Segue a query.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) Array ( [id] => 6 [name] => Guilherme [cpf_cnpj] => 00000099900 [birthdate] => 1990-12-06 [address] => Maestro [hood] => => 88888888 [city] => Sao Paulo [state] => Santa catarina [phone] => 2147483647 [mobile] => 2147483647 [ie] => 0 [created] => 2017-09-06 12:00:00 [modified] => 2017-09-07 05:00:00 ) |
Segue a query.
1 2 3 4 5 | $sql = "SELECT * FROM $table"; $result = $database->query($sql); if ($result->num_rows > 0) { $found = $result->fetch_assoc(); |
Responder
Gostei + 0
20/09/2017
Réulison Silva
O FOREACH é uma simplificação do operador FOR para se trabalhar em coleções de dados, ou seja, vetores e matrizes. Ele permite acessar cada elemento individualmente iterando sobre toda a coleção e sem a necessidade de informação de índices.
Por exemplo, supondo que fosse preciso percorrer um vetor com alguns elementos com o FOR. Seria necessário utilizar um contador para servir também de índice para acessar cada elemento, conforme a listagem a seguir.
Iteração em vetor com FOR:
Esse código poderia ser simplificado com a utilização do operador FOREACH, cuja sintaxe é mostrada abaixo.
Sintaxe do operador FOREACH:
Então, reescrevendo o código acima, teríamos:
Listagem 14: Exemplo de uso do FOREACH
Assim, a cada iteração (repetição) a variável $item representa um elemento do vetor.
Saiba mais sobre php foreach.
Por exemplo, supondo que fosse preciso percorrer um vetor com alguns elementos com o FOR. Seria necessário utilizar um contador para servir também de índice para acessar cada elemento, conforme a listagem a seguir.
Iteração em vetor com FOR:
1 2 3 4 5 6 | $vetor = array(1, 2, 3, 4, 5); for($i = 0; $i < 5; $i++) { $item = $vetor[$i]; echo $item; } |
Esse código poderia ser simplificado com a utilização do operador FOREACH, cuja sintaxe é mostrada abaixo.
Sintaxe do operador FOREACH:
1 2 3 4 | foreach(vetor as variável) { //variável representa um elemento do vetor a cada iteração } |
Então, reescrevendo o código acima, teríamos:
Listagem 14: Exemplo de uso do FOREACH
1 2 3 4 5 | $vetor = array(1, 2, 3, 4, 5); foreach($vetor as $item) { echo $item; } |
Assim, a cada iteração (repetição) a variável $item representa um elemento do vetor.
Saiba mais sobre php foreach.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)