Jump to content
ezzcardoso

foreach aninhado e array select

Recommended Posts

Pessoal, estou fazendo um script php para selecionar registros no banco de dados... que funciona normalmente.. porém, não estou sabendo como trarar o dados gerados pelo script. Vejamos um exemplo.

<?php
abstract class Eac
{
	private $localhost = "localhost";
	private $root = "root";
	private $password = "";
	private $database = "database";
	private $port = "3306";
	protected function open()
	{
		$conn = new mysqli($this->localhost, $this->root, $this->password, $this->database, $this->port);
		$conn->select_db($this->database);
		$conn->set_charset("utf8");
		if ($conn->connect_error)
		{
			return $conn->connect_error;
		}
		else
		{
			return $conn;
		}
	}
}
class SQL extends Eac
{
	public function insert($table, $array)
	{
		if (is_array($array))
		{
			$conn   = $this->open();
			$fields = array();
			$values = array();
			foreach ($array as $key => $value)
			{
				$fields[] = $key;
				$values[] = "'" . $value = $conn->real_escape_string($value) . "'";
			}
			$fields = implode(",", $fields);
			$values = implode(",", $values);
			$sql    = "INSERT INTO {$table} ({$fields}) VALUES ({$values})";
			if ($conn->query($sql))
			{
				return array(
					"Error" => false,
					"insert_id" => $conn->insert_id,
					"affected_rows" => $conn->affected_rows,
					"info" => $conn->info
				);
			}
			else
			{
				return array(
					"error" => $conn->error
				);
			}
			$conn->close();
		}
		else
		{
			echo ("Não é array");
		}
	}
	public function delete($table, $where)
	{
		$conn = $this->open();
		$sql  = "DELETE FROM {$table} {$where}";
		if ($conn->query($sql))
		{
			return array(
				"affected_rows" => $conn->affected_rows,
				"info" => $conn->info
			);
		}
		else
		{
			return array(
				"error" => $conn->error
			);
		}
		$conn->close();
	}
	public function update($table, $array, $where)
	{
		if (is_array($array))
		{
			$conn = $this->open();
			$sql  = "UPDATE {$table} SET ";
			$sets = array();
			foreach ($array as $column => $value)
			{
				$sets[] = $column . " = '" . $value = $conn->real_escape_string($value) . "'";
			}
			$sql .= implode(',', $sets);
			$sql .= $where;
			if ($conn->query($sql))
			{
				return array(
					"Error" => false,
					"insert_id" => $conn->insert_id,
					"affected_rows" => $conn->affected_rows,
					"info" => $conn->info
				);
			}
			else
			{
				return array(
					"error" => $conn->error
				);
			}
			$conn->close();
		}
	}
	public function select($table, $array, $rules)
	{
		$conn = $this->open();
		switch ($array)
		{
			case '*':
			    $conditions = array();
			    foreach ($rules as $column => $value)
				{
					$conditions[] =" {$column} {$value} ";
				}
				$condition = implode("",$conditions); 
				echo $sql = "SELECT * FROM {$table} {$condition}";
				break;
			case is_array($array):
				$fields = array();
				foreach ($array as $column => $value)
				{
					$fields[] = $value;
				}
				$conditions = array();
				foreach ($rules as $column => $value)
				{
					$conditions[] =" {$column} {$value} ";
				}
				$field = implode(",", $fields);
				$condition = implode("",$conditions);
				echo $sql   = "SELECT {$field} FROM {$table} {$condition}";
				break;
		}
		$select = $conn->query($sql);
		$result = array();
		if ($select->num_rows > 0)
		{
			$stack = array();
			while ($row = $select->fetch_array())
			{
				$stack[] = $row;
				
			}
			return ($stack);
		}
		else
		{
			echo "0 results";
		}
		$conn->close();
	}
}
?>

Aí em cima é meu script normal pra fazer o select e está 100% funcionando.

 

 

Agora o problema é quando eu faço o comando 

 

 

$database =  new SQL();

$cliente = $database->select("cliente","*",$rules = array());

var_dump($cliente);

Mostra o seguinte 

array (size=2)
  0 => 
    array (size=18)
      0 => string '21' (length=2)
      'id' => string '21' (length=2)
      1 => string 'Lula Luiz Inacio Da Silva' (length=25)
      'nome' => string 'Lula Luiz Inacio Da Silva' (length=25)
      2 => string 'CPF' (length=3)
      'tipo' => string 'CPF' (length=3)
      3 => string '12345678912' (length=11)
      'CPF_CNPJ' => string '12345678912' (length=11)
      4 => string '66552852154' (length=11)
      'telefone_celular' => string '66552852154' (length=11)
      5 => string '31454564' (length=8)
      'telefone_comercial' => string '31454564' (length=8)
      6 => string 'lula@povo.com.br' (length=16)
      'email' => string 'lula@povo.com.br' (length=16)
      7 => string '5936d1d7296d0' (length=13)
      'cliente_id' => string '5936d1d7296d0' (length=13)
      8 => string 'lula é um  ex presidente...' (length=28)
      'obs' => string 'lula é um  ex presidente...' (length=28)
  1 => 
    array (size=18)
      0 => string '20' (length=2)
      'id' => string '20' (length=2)
      1 => string 'Dilma Luiz Inacio Da Silva' (length=26)
      'nome' => string 'Dilma Luiz Inacio Da Silva' (length=26)
      2 => string 'CPF' (length=3)
      'tipo' => string 'CPF' (length=3)
      3 => string '12345678912' (length=11)
      'CPF_CNPJ' => string '12345678912' (length=11)
      4 => string '66552852154' (length=11)
      'telefone_celular' => string '66552852154' (length=11)
      5 => string '31454564' (length=8)
      'telefone_comercial' => string '31454564' (length=8)
      6 => string 'lula@povo.com.br' (length=16)
      'email' => string 'lula@povo.com.br' (length=16)
      7 => string '5936d1b61f716' (length=13)
      'cliente_id' => string '5936d1b61f716' (length=13)
      8 => string 'lula é um  ex presidente...' (length=28)
      'obs' => string 'lula é um  ex presidente...' (length=28)

 

agora... como que eu ponho isso em tabela ?????

 

 

eu fiz o seguinte.

 

 

 foreach($cliente as $key => $value){
 	foreach($value as $keys => $values){
 		
 		 echo $values->nome; $values->CPF;
	 	
	 }
	 
 	
 }

 

 

só que não funciona....

 

 

resultado 

 

Notice: Trying to get property of non-object 

 

 

...

 

 

 

Minha questão é.... COMO  posso organizar aquela Array   em uma tabela de marcação HTML 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By lordstarlight
      Olá, 
       
      Como posso bloquear todos ips, menos o meu para acesso ao meu site?
      preciso fazer isto para poder fazer manutenção.
       
      obrigado!
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By groudon900
      Estou cursando aula pra aprender php e eu estava montando uma pagina de login, está tudo certo, mas não consegue conectar de jeito nenhum vou mandar o código pra vocês darem uma olhada
      banco de dados "aula"
      tabela "usuarios"
       
      contem, usuarios, senha, email e ID
       
       
      <?php require_once"config.php" ?> <?php if ( isset($_POST["usuario"])) { $usuario = $_POST["usuario"]; $senha = $_POST["senha"]; $login = "SELECT * "; $login .= "FROM usuarios "; $login .= "WHERE usuario = '{$usuario}' and senha = '{$senha}' "; $acesso = mysqli_query($conecta, $login); if ( !$acesso) { die("Falha na consulta ao banco!"); } $informacao = mysqli_fetch_assoc($acesso); if ( empty($infomacao)) { $mensagem = "login sem sucesso"; } else { header("location:listagem.php"); } } ?>  
    • By Emilio Saymon
      tenho um site que precisa que assim que eu aperte um botão ele verifiquei se a variavel sala for sala 1 ele abre no modal da sala1 se não abre no modal da sala2. Dei uma pesquisada e vi que da pra fazer com a função onclik(), mas não tenho noção como fazer. Aqui vai o código.
      botão <td><a href="#" class="btn btn-primary" data-toggle="modal" data-target="#modalLoginForm">XXX</a></td> <!-- sala 1 --> <div class="modal-body mx-3"> <div class="md-form mb-4"> <form method="POST" action="valida.php"> <h6>Sala 1</h6> <input type="password" class="form-control validate" name="senha"> </div> </div> <button type="submit" class="btn btn-primary" name="enviar">Entrar</button> </form> </div> </div> </div> </div> </div> <!-- sala 2 --> <div class="modal fade" id="modalLoginForm2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header text-center"> <h4 class="modal-title w-100 font-weight-bold">Senha</h4> <button type="btn-primary" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body mx-3"> <div class="md-form mb-4"> <form method="POST" action="valida.php"> <p>Sala 2</p> <input type="password" class="form-control validate" name="senha2"> </div> </div> <div class="modal-footer d-flex justify-content-center"> <button type="submit" class="btn btn-primary" name="enviar1">Entrar</button> </form> </div> </div> </div> </div>  
    • By Thalles Rangel
      Disponibilizando para vocês, sistema PHP 7 controle de estoque..
      https://www.4shared.com/rar/NsY_o5qwfi/controleDeEstoquePHPCodigoFont.html?
       
       
       
       
      OBS. NÃO SEGUE UM PADRÃO - É PARA QUEM ESTÁ APRENDENDO
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.