foreach php

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.

<?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

Guilherme Alano

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

Danilo Prazeres
Responder

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.

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.

$sql = "SELECT * FROM $table";
	    $result = $database->query($sql);
	    
	    if ($result->num_rows > 0) {
	      $found = $result->fetch_assoc();
Responder

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:

$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:

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

$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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar