Ir para conteúdo

Arquivado

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

DunkMask

[Resolvido] Problemas para buscar infomação do mysql

Recommended Posts

Ola,

boa tarde a todos. Estou tendo um certo probleminha para buscar uma certa informação no banco de dados.

Comecei a "programar" a pouco tempo, meu primeiro sisteminha foi feito neste fim de semana para ajudar no site de um amigo.

 

foi criado uma pagina de projetos para ser listados todas as series traduzidas por seu grupo, mas na hora que a pessoa clica na serie é mandado para uma pagina com as informações do mesmo.

 

As informações aparecem, mas o problema é que os episódios cadastrados nao estao aparecendo na pagina em questao.

 

Alguem poderia me ajudar?

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de mais nada devido a problemas com minha net foram criados 2 topicos, aos administradores pesso desculpas.

 

Agora quanto ao meu problema.

 

pagina anime

<?php
##############################
include "cpainel/config.php";
##############################


if($_GET['page'] == "anime"){
	$id = $_GET['id'];
	$sql_update = mysql_query("SELECT * FROM listas WHERE id = '$id'");
	while($linha = mysql_fetch_array($sql_update)){
		$pegar_nome = $linha['nome'];
		$pegar_imagem = $linha['imagem'];
		$pegar_genero = $linha['genero'];
		$pegar_studio = $linha['studio'];
		$pegar_fansub = $linha['fansub'];
		$pegar_review = $linha['review'];
	}
?>
<div id="anime">
<a href="?page=projetos" title="Projetos">Projetos</a> - <strong>Anime</strong> <span class="titulo"><?php echo $pegar_nome ?></span>
    <span class="review"><img src="<?php echo $pegar_imagem ?>" width="149" height="196" align="left" alt="<?php echo $pegar_nome ?>" />
    	<span class="genero"><strong>Gênero:</strong> <?php echo $pegar_genero ?></span>
        <span class="studio"><strong>Studio:</strong> <?php echo $pegar_studio ?></span>
        <span class="fansub"><strong>Fansub:</strong> <?php echo $pegar_fansub ?></span>
        <span class="fansub"><strong>Review:</strong></span><br />
<?php echo $pegar_review ?>
<span class="block"></span>
<?php
}
?>
    	<span class="lista_epi">Epsódios</span>
        <span class="lista_tamanho">Tamanho</span>
        <span class="lista_down">Download</span>
<?php 

$id = $_GET['id'];
	$sql_visualizar = mysql_query("SELECT * FROM episodios WHERE id = '$id'  ");
	while($linha = mysql_fetch_array($sql_visualizar)){
		$pega_nome = $linha['nome'];
		$pega_numero = $linha['numero'];
		$pega_tamanho = $linha['tamanho'];
		$pega_mirror1 = $linha['mirror1'];
		$pega_link1 = $linha['link1'];
		$pega_mirror2 = $linha['mirror2'];
		$pega_link2 = $linha['link2'];
		$pega_mirror3 = $linha['mirror3'];
		$pega_link3 = $linha['link3'];
		$pega_mirror4 = $linha['mirror4'];
		$pega_link4 = $linha['link4'];
		$id = $linha['id'];
?>  
        <span class="lista_epi2"><?php echo $pega_numero ?> - <?php echo $pega_nome ?></span>
        <span class="lista_tamanho2"><?php echo $pega_tamanho ?></span>
        <span class="lista_down2">
        <a href="<?php echo $pega_link1 ?>" title="<?php echo $pega_mirror1 ?>" target="_blank"><?php echo $pega_mirror1 ?></a> - 
        <a href="<?php echo $pega_link2 ?>" title="<?php echo $pega_mirror2 ?>" target="_blank"><?php echo $pega_mirror2 ?></a> - 
        <a href="<?php echo $pega_link3 ?>" title="<?php echo $pega_mirror3 ?>" target="_blank"><?php echo $pega_mirror3 ?></a> - 
        <a href="<?php echo $pega_link4 ?>" title="<?php echo $pega_mirror4 ?>" target="_blank"><?php echo $pega_mirror4 ?></a></span>
        <span class="both"></span>

<?php
	}
?>
    </span>
</div>

Esta é a pagina do meu problema.

no final do codigo a intensao era pegar as informações do episódio como "nome, Numero e os links para download.

 

Mas na hora de cadastrar o anime ele tem a opção de escolher o tipo entre "Anime, Ova, Filme, Manga"

 

Tive sucesso para buscar essa informação e tal, mas o problema é buscar os links da mesma.

 

para poder ver melhor abaixo segue o link do sistema online

www.animexblade.com/e2fansub

Compartilhar este post


Link para o post
Compartilhar em outros sites

nessa linha

$sql_visualizar = mysql_query("SELECT * FROM episodios WHERE id = '$id'  ");
tire os espaços no final

$sql_visualizar = mysql_query("SELECT * FROM episodios WHERE id = '$id'");

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema continua.

a linha mostrada ela esta pegando as informações da tabela episodios, e fazer com que repita os mesmo na pagina par ao usuario.

 

dentro do sistema administrativo esta funcionando normalmente, mas na pagina principal nao

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá algum erro, ou simplesmente não aparece nada???????

 

só para fins de teste seleciona todos da tabela e rode

mude a linha q eu te falei anteriormente para essa

 

$sql_visualizar = mysql_query("SELECT * FROM episodios");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amiguinho,

 

Na tabela episodios a coluna id é a id do episodio, correto? Tens de busca pela id da serie.

 

$sql_visualizar = mysql_query("SELECT * FROM episodios WHERE serie_id = '$id'");

 

Note que pus serie_id pois não foi postada a estrutura das tabelas. Não faço ideia de qual é o nome do id da serie na tabela episodios, só sei que DEVE ter.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o banco de dados é assim.

 

Esse é o banco de dados

- Estrutura da tabela `episodios`
-- 

CREATE TABLE `episodios` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(100) NOT NULL,
  `numero` varchar(30) NOT NULL,
  `anime` varchar(100) NOT NULL,
  `tamanho` varchar(30) NOT NULL,
  `mirror1` varchar(30) NOT NULL,
  `link1` text NOT NULL,
  `mirror2` varchar(30) NOT NULL,
  `link2` text NOT NULL,
  `mirror3` varchar(30) NOT NULL,
  `link3` text NOT NULL,
  `mirror4` varchar(30) NOT NULL,
  `link4` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Extraindo dados da tabela `episodios`
-- 


-- --------------------------------------------------------

-- 
-- Estrutura da tabela `listas`
-- 

CREATE TABLE `listas` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(100) NOT NULL,
  `quantidade` varchar(30) NOT NULL,
  `formato` varchar(30) NOT NULL,
  `imagem` text NOT NULL,
  `tipo` varchar(30) NOT NULL,
  `review` text NOT NULL,
  `status` varchar(80) NOT NULL,
  `fansub` varchar(80) NOT NULL,
  `genero` varchar(200) NOT NULL,
  `studio` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Extraindo dados da tabela `listas`
-- 


-- --------------------------------------------------------

-- 
-- Estrutura da tabela `login`
-- 

CREATE TABLE `login` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(80) NOT NULL,
  `login` varchar(80) NOT NULL,
  `senha` varchar(80) NOT NULL,
  `funcao` varchar(80) NOT NULL,
  `avatar` text NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `login` (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Extraindo dados da tabela `login`
-- 


-- --------------------------------------------------------

-- 
-- Estrutura da tabela `mangas`
-- 

CREATE TABLE `mangas` (
  `id` int(11) NOT NULL auto_increment,
  `anime` varchar(100) NOT NULL,
  `capitulo` varchar(30) NOT NULL,
  `volume` varchar(30) NOT NULL,
  `tamanho` varchar(30) NOT NULL,
  `tamanho2` varchar(30) NOT NULL,
  `mirror1` varchar(30) NOT NULL,
  `link1` text NOT NULL,
  `mirror2` varchar(30) NOT NULL,
  `link2` text NOT NULL,
  `mirror3` varchar(30) NOT NULL,
  `link3` text NOT NULL,
  `mirror4` varchar(30) NOT NULL,
  `link4` text NOT NULL,
  `mirror5` varchar(30) NOT NULL,
  `link5` text NOT NULL,
  `mirror6` varchar(30) NOT NULL,
  `link6` text NOT NULL,
  `mirror7` varchar(30) NOT NULL,
  `link7` text NOT NULL,
  `mirror8` varchar(30) NOT NULL,
  `link8` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Extraindo dados da tabela `mangas`
-- 


-- --------------------------------------------------------

-- 
-- Estrutura da tabela `parceiros`
-- 

CREATE TABLE `parceiros` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(80) NOT NULL,
  `button` varchar(150) NOT NULL,
  `link` varchar(150) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Extraindo dados da tabela `parceiros`
-- 


-- --------------------------------------------------------

-- 
-- Estrutura da tabela `titulo`
-- 

CREATE TABLE `titulo` (
  `id` int(11) NOT NULL auto_increment,
  `nome` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- 
-- Extraindo dados da tabela `titulo`
-- 


os projetos sao mandados para a tabela lista

e os episódios para a tabela episódio

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois eh meu prezado

olha o erro ae

 

você está usando a mesma varável id para as duas tabelas

$sql_visualizar = mysql_query("SELECT * FROM episodios WHERE serie_id = '$id'");
$sql_visualizar = mysql_query("SELECT * FROM episodios WHERE id = '$id'");

 

e eu não vejo nenhuma chave extrangeira que ligue as duas tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, para mostrar os episódios nao deu muito certo usar o id, pos ele so pegava o episódio com o mesmo ip do anime em questão. Entao para o episódio eu preciso achar uma nova forma de faze-los aparecer.

 

So que como eu sou novato na are nao consigo pensar em muitas coisas, pode-se dizer que comecei a estudar isso a 3 semanas, mas por em pratica somente neste fim de semana agora.

 

Poderia me ajudar com uma ideia melhor para buscar esta informação especifca?

 

A unica forma de diferencia-los seria pelo campo anime da tabela episódios?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da forma atual sim. Mas isso está muito longe do ideal.

 

Vejamos: um anime possui vários episodios. Cada episodio pertence a um anime. A maneira como cada episodio referencia o seu anime DEVE ser através da chave primaria do anime (animes.id).

 

A modelagem de dados está uma bagunça: tabela de mangas tem uma coluna anime: Qual é o proposito disso? Tabela episodios tem também uma coluna anime: Deveria ter uma coluna anime_id, para referenciar a identificação indexada da tabela mangas.

 

Siga uma convenção:

 

episodios.nome

listas.nome

login.nome

mangas.anime => animes.nome

parceiros.nome

titulo.nome

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que estou longe de colocar esse sistema para funcionar XD.

eu consegui fazer com que os "episódios" apareçam na pagina, mas acontece que todas as paginas recebem o mesmo episódio.

 

dai tentei usar "WHERE id = '$id' para diferenciar, so que a unica coisa que aconteceu é que cada pagina pega o episódio com o mesmo id.

 

problema ja resolvido,

 

eu estava usando o link ?page=anime&id=id da serie eu udei para ?page=anime&nome=nome da serie

 

desta forma eu conseguir fazer com que o problema fosse resolvido, ao inves dele pegar o id do episódio ele pega o nome do anime onde o episódio foi cadastrado.

 

Agradeço a todos ai pela ajuda e paciencia por ajudar um novatinho ai.

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.