Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andrey Knupp Vital

[Resolvido] class php ..

Recommended Posts

Obrigado Carlos Eduardo , (Matias Rezende)

Bem , o resultado foi

 


 

usei print_r($all)

para verificar se tava montando array

 

e o resultado foi

 

Array ( )

 

Agora o Loop do foreach , não e o problema e minha questão não e exatamente ele , minha questao e montar um array de todas as linhas

ou seja um while em array , mais sem as posiçoes

 

porque o atual , sem ser o seu exemplo acima retorna em posiçoes , caso não esteje etendendo a parte "posiçoes" Seria o identificador da linha

que contem o resultado que irei puxar no array

Exemplo:

 

echo [0][codigo_cliente];

echo linha0 campo codigo_cliente na linha 0 .. Ele retorna 1 resultado

se for pra identificar a linha não seria muito utiu a função mais de qualquer forma creio que vocês estão fazendo tudo que pode pra tentar ajudar

eu agradeço muito quanto a isso

 

o que eu quero mesmo e que ele crie um array ? sim . criar um array sem posiçoes, ou seja

 

array(
[codigo_cliente] => "resultado do banco"
[codigo_cliente] => "resultado do banco"
);

 

caso tenha 6 registros no banco retorna em

 

array(
[codigo_cliente] => "resultado do banco1"
[codigo_cliente] => "resultado do banco2"
[codigo_cliente] => "resultado do banco3"
[codigo_cliente] => "resultado do banco4"
[codigo_cliente] => "resultado do banco5"
[codigo_cliente] => "resultado do banco6"
);

 

dai quando eu der um

 

echo $var_que_armazena_a_query["codigo_cliente"]
o retorno tera de ser
resultado do banco1 resultado do banco2 resultado do banco3 resultado do banco4 resultado do banco5 resultado do banco6

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, vou esquecer reutilização e vou desconsiderar os problemas que você vai ter para utilizar este seu código:

 

<?php
class Db {
/**
 * @var resource
 */
private $_query;

public function __construct() {
	mysql_connect ( 'localhost', 'root', '123' );
	mysql_select_db ( 'inter' );
}
/**
 * 
 * @param string $sql
 * @return Db
 */
public function query($sql) {
	$this->_query = mysql_query ( $sql );
	if (! $this->_query)
		throw new Exception ( '<strong>Falhou a consulta:</strong> ' . $sql . '<br /><strong>Motivo:</strong> ' . mysql_error () );
	return $this;
}

/**
 * Método que retorna a quantidade de linhas da consulta
 * 
 * @return int
 */
public function numRows() {
	return mysql_num_rows ( $this->_query );
}

/**
 * Método que retorna os dados da consulta
 * @return string|array
 */
public function fetchAll() {
	$retorno = array ();
	$campos = array ();
	while ( $dados = mysql_fetch_array ( $this->_query ) ) {
		foreach ( $dados as $chave => $valor ) {
			$retorno [$chave] [] = $valor;
			if (! in_array ( $chave, $campos )) {
				$campos [] = $chave;
			}
		}
	}

	foreach ( $campos as $coluna ) {
		// aqui fazemos a união dos valores a serem exibidos. 
		// o espaço hífen espaço é o que vai separar os valores de cada registro
		$retorno [$coluna] = implode ( ' - ', $retorno [$coluna] );
	}
	return $retorno;
}
}

$sql = new Db ();
try {
// vai retornar um array com todos os usuários
$all = $sql->query ( 'SELECT * FROM usuario' )->fetchAll ();
echo $all ['nomeDoCampo']; // deve imprimir o valor de todos os registros, separados por espaço hífen espaço
} catch ( Exception $e ) {
echo $e->getMessage ();
}

 

Acredito que este código vai resolver seu problema (vai criar VÁRIOS outros, mas...)

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Matias

Onten Mesmo Ja Solucionei Meu Problema :D

 

       public function setSep($break,$var){
		if($break !== true){
			return $var;
		}else if($break === true){
			return $var."<br>";
		}
	}
         public function fetchAll($break=false){
		  	$arr = array();
               $col = array();
			while( $this->dados = mysql_fetch_assoc( $this->query ) ){
               $arr[] = $this->dados;
               }
           	foreach($arr as $me){
			$keys = array_keys($me);
          			for($i=0;$i<count($me);$i++){
					$col[$keys[$i]] .= $this->setSep($break,$me[$keys[$i]]);
				}
       	 	}
			return $col;
       	}

 

fetchAll(true) // quebra de linha em cada resultado , fetchAll() ou fetchAll(false) // não pula linha

Topico Resolvido ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.