Ir para conteúdo

POWERED BY:

Arquivado

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

Flávio Douglas Nunes

Campo array no mysql

Recommended Posts

Olá amigo.

 

Você pode gravar normalmente, porém o tipo de campo depende de como tu vai mandar esses arrays para o banco.

 

Tipo, você pode usar um implode, pra separar os dados com ífen " - " ou vírgula " , " e armazenar no banco de dados, pra pegar os dados, basta dar explode no ítem utilizado, " , " ou " - "

 

entendeu ? se os dados forem muitos, utilize o campo text.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Você pode gravar normalmente, porém o tipo de campo depende de como tu vai mandar esses arrays para o banco.

 

Tipo, você pode usar um implode, pra separar os dados com ífen " - " ou vírgula " , " e armazenar no banco de dados, pra pegar os dados, basta dar explode no ítem utilizado, " , " ou " - "

 

entendeu ? se os dados forem muitos, utilize o campo text.

 

Estou com a mesma intenção do Flávio Douglas, e de cara pensei na solução que o Alaerte Gabriel sugeriu, contudo, o implode transforma o array em uma única string, e ao passar um array como campo preciso que cada valor individual seja uma string separada, alguém poderia me dar uma luz?

 

sei que o local não é apropriado, mas gostaria de matar logo 2 coelhos numa cajadada, andei lendo as aulas que o João Batista Neto deixou muito bem organizado pra nós, e gostaria de saber se estou aplicando corretamente (ou mais ou menos correto) o conceito de abstração, abraço!

 

vou deixar aqui o código:

 

class.dao.php

<?php

require_once('class.conexao.php');

class Dao{
private $consulta;
private $tabela;
private $campos = array();
private $valores = array();

public function insert(){
	$teste = mysql_query("INSERT INTO $this->tabela ($this->campos) VALUES ($this->valores)") or die(mysql_error());
	if ($teste){
		echo 'Usuário Cadastrado';
	}
}

public function select(){
	return mysql_query("SELECT * FROM '$tabela'");
}

public function __construct($consulta, $tabela, $campos, $valores){
	$this->consulta = $consulta;
	$this->tabela = $tabela;
	$this->campos = implode(", ", $campos);
	$this->valores = implode(", ", $valores);

	$sql = new Mysql;
	$con = new Conexao($sql);
	var_dump($this->consulta, $this->tabela, $this->campos, $this->valores);


	switch($consulta){
		case 'insert':
			$this->insert();
			break;

		case 'select':
			$this->select();
			break;
	}
}
}

$dao = new dao('insert', 'usuarios', array('nome','email','senha'),  array('Nicolas,n@n,n'));

?>

 

class.conexao.php

<?php

require_once('class.config.php');

class Mysql{
private $result;

public function conecta($h, $u, $p){
	return mysql_connect($h, $u, $p) or die(mysql_error());
}

public function seleciona($d){
	return mysql_select_db($d) or die(mysql_error());
}
}

class Conexao extends Config{
public function __construct(Mysql $mysql){
	$mysql->conecta($this->getHost(), $this->getUser(), $this->getPass());
	$mysql->seleciona($this->getDb());
}
}

?>

 

class.config.php

<?php

class Config{
private $host = 'localhost';
private $user = 'root';
private $pass = '';
private $db   = 'db_cefa';

public function getHost(){
	return $this->host;
}

public function getUser(){
	return $this->user;
}

public function getPass(){
	return $this->pass;
}

public function getDb(){
	return $this->db;
}
}

?>

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.