Ir para conteúdo

POWERED BY:

Arquivado

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

Kakaroto1309

Herança

Recommended Posts

Tenho 2 Tabelas

 

Uma Cidades e outra Shows

Na tabela cidade fiz um formulário que eu consigo cadastrar as cidades.

Na tabela shows irei gravar os shows, como data, local, cidade, estado ...

 

Como eu puxo no formulário SHOWS o que foi cadastrado em CIDADES e está no banco de dados cidades?

Compartilhar este post


Link para o post
Compartilhar em outros sites

estude sql cara.

 

pesquise por INNER JOIN

Compartilhar este post


Link para o post
Compartilhar em outros sites
<select name="cidade">
<?php
$sql = "SELECT id, nome FROM cidade";
$query = mysql_query( $sql )or die( mysql_error() );
while( $dados = mysql_fetch_assoc( $quuery ) )
{
  echo '<option value="'.$dados['id'].'">'.$dados['nome'].'</option>';
}
?>
</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

to aprendendo, mais deixa só eu pergunta uma coisa ... joguei isso já belezera, e agora onde eu jogo o inner join? me da esse help ae ... isso ae eu joguei no formulário de shows já, o que mais falta e onde fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o JOIN seria apenas na hora de resgatar as informações, se você tiver modelado com a primeira forma normal a tabela.

 

agora te falta estudar cara.. para um tempo, e estuda.

nem sempre vai ter como postarmos exemplos doq você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo simples

 

Tabela Cidade:

cod_cidade

nom_cidade

 

Tabela Show

nom_show

dat_show

cod_cidade

 

SELECT * FROM
cidade c,
show s
WHERE
c.cod_cidade = s.cod_cidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boiei ... preciso estudar, mais é f***!

 

só me fala ai como fazer pra resolver essa situação ...

 

Já criei as 2 tabelas no bd ta prontim

só preciso joga as cidades cadastradas na tabela cidades para o menu drop down do formulario de shows, explica meio que detalhado, é que isso preciso com urgência...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas isso já não resolveu pelo post em #4 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

então ... não!

 

joguei isso, agora abro o formulario de cadatro de shows, ele carrega só até o drop down, o que tem pra baixo naum carrega nada, e no drop down naum carrega nenhuma infO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

aperte Ctrl+U (Exibir > Código Fonte)

 

e veja o erro.

 

leia:

http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

erro é

 

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/seuni/public_html/Teste/cadastrar_show.php on line 34

 

e esse tambem

 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/seuni/public_html/Teste/cadastrar_show.php on line 34

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

 

eu achei o mesmo erro nesse tópico:

 

http://forum.imasters.com.br/index.php?/topic/415647-erro-mysql/

 

porém o meu caso é diferente. no formulário de cadastro de shows, que é onde to tentando implementar o relacionamento de tabelas, não tem nenhum campo que gere conexão com o bd, somente quando eu clico em enviar, que os dados são passados a uma outro arquivo php que fara a conexão com o bd, será que é isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não, você não entendeu.

 

pra executar uma query, você precisa ter uma conexão aberta com o bd.

esquece o relacionamento de tabelas por enqnto, a tua dúvida é mais básica que isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim.

 

ou então encapsular essa query em alguma class tua que ja tenha conexão com o banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

... qndo você fizer alguma mudança significativa, poste o novo codigo.

e também o erro que aparecer.

 

se não fica impossível lhe guiar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só fiz isso, não sei se está certo

 

		<?php
	require_once("includes/formulario_cidade.php");
	$sql = "SELECT id,cidade FROM cidades";
	$query = mysql_query( $sql )or die( mysql_error() );
	while( $dados = mysql_fetch_assoc( $query ) )
	{
		echo '<option value="'.$dados['id'].'">'.$dados['cidade'].'</option>';
	}
	?>
	</select>

 

nesse arquivo tem uma conexão com BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu dei o require once naquele arquivo

e naquele arquivo tem esses dados

 

<?php
//Extendendo Mysqli Utilizamos THIS Para Chamar Suas Funções
class formModel extends mysqli {

   //Instancia Única de Alto Compartilhamento Entre Todas Instancias
   private static $instance = null;

   //Variáveis de Conexão com Banco de Dados
   private $user = "root";
   private $pass = "senha1313";
   private $dbName = "clientes";
   private $dbHost = "localhost";

   //Este Método Precisa ser Estático e Retorna uma Instância de um Objeto se o Objeto Ainda Não Existe
   public static function getInstance()
	{
       if (!self::$instance instanceof self) {
           self::$instance = new self;
       }
       return self::$instance;
    }

   //Os Métodos Clone e Wakeup Previnem Uma Instanciação Externa de Cópias da Classe Singleton
   public function __clone()
	{
       trigger_error('Clone não permitido.', E_USER_ERROR);
    }

   public function __wakeup()
	{
       trigger_error('Deserializing nao permitido.', E_USER_ERROR);
    }

   //Construtor
   private function __construct() {

	//Chama Construtor Pai do Mysqli
       parent::__construct($this->dbHost, $this->user, $this->pass, $this->dbName);
       if (mysqli_connect_error ())
		{
           die('Erro de conexao (' . mysqli_connect_errno() . ') '
                   . mysqli_connect_error());
        }

    parent::set_charset('utf-8');
   	}

   //Caso Seja Preciso Recuperar a Cidade pelo Nome
   public function get_cidade_id_by_nome($cidade) {

       //THIS Chama os Métodos de Mysqli
       $result = $this->query("SELECT id FROM cidades WHERE cidade = '" . $cidade . "'");

       if ($result->num_rows > 0) {
           //Retorno de Matriz Indexada
           $row = $result->fetch_row();
           return $row[0];
       } else
           return null;
       $result->free;
	}

   public function get_cidade_by_cidade_id($id) {
       return $this->query("SELECT * FROM cidades WHERE id=" . $id);
   }

   public function get_cidade() {
	return $this->query("SELECT * FROM cidades ORDER BY cidade ASC");
   }

   //Função que Cadastra a Cidade no Banco
   public function insert_cidade($cidade, $estado) {

       //Cadastra Informações no Banco de Dados
       $result = $this->query("INSERT INTO cidades (cidade, estado)" . " VALUES ('" . $cidade . "', '" . $estado . "')");
       return result;
    }
}
?>

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.