Sistema de cadastro com INNER JOIN nao consigo trazer o ID do jogo

27/07/2017

0

PHP

Ola a todos..... 1° Passo o ID do jogos por GET para poder visualizá-lo ou editá-lo ou apagá-lo até ai esta normal..


Pagina de  " Listar jogos "

$resultado=mysqli_query($conectar, "SELECT * FROM jogos ORDER BY 'id'");

$linhas=mysqli_num_rows($resultado);

while($linhas = mysqli_fetch_array($resultado))
     
echo "<td>".$linhas['id']."</td>";

A clico no botao

<a href='administrativo.php?link=20&id=<?php echo $linhas['id']; ?>'><button  type='button' '>Visualizar </button></a>

Passo o id pra pagina ....." Visualizar "



ate ai vai tudo normal... visualizo, edito tudo certo..

$id = $_GET['id'];

$result = mysqli_query($conectar, "SELECT * FROM jogos WHERE id = '$id' LIMIT 1");

$resultado=mysqli_fetch_assoc($result);

so que assim recebo todos os dados normal eu vejo somente o ID da pushisher ....eu queria ver o nome da publisher ..então fiz o seguinte

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

USANDO INNER JOIN

Na pagina " Listar " fiz o seguinte:

$resultado=mysqli_query($conectar, "SELECT * FROM jogos 
INNER JOIN publishers ON publishers.id=jogos.publisher_id ORDER BY 'id'");
		
$linhas=mysqli_num_rows($resultado);


while($linhas = mysqli_fetch_array($resultado))
     
echo "<td>".$linhas['id']."</td>";

agora recebo o nome da publisher ao inves do ID.

Ai clico no botão

<a href='administrativo.php?link=20&id=<?php echo $linhas['id']; ?>'><button  type='button' '>Visualizar </button></a>

..........AGORA QUE DA O ERRO

QUANDO clico em algum jogo pra visualizar todos seus conteúdos ele da os erros......

Ele não traz mais o ID do jogo  dei um vardump



C:\\wamp\\www\\credito\\visual_jogo.php:17:string '5' (length=1)
C:\\wamp\\www\\credito\\visual_jogo.php:23:boolean false

( ! ) Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\\wamp\\www\\credito\\visual_jogo.php on line 25
Call Stack
#	Time	Memory	Function	Location
1	0.0010	361712	( )	...\\administrativo.php:0
2	0.0100	421368	include( 'C:\\wamp\\www\\creditogames.com.br\\visual_jogo.php' )	...\\administrativo.php:46
3	0.0110	421400	mysqli_fetch_assoc ( )	...\\visual_jogo.php:25

 C:\\wamp\\www\\credito\\visual_jogo.php:26:null



LInha 25:      $resultado=mysqli_fetch_assoc($result);




.

Obrigado a todos sou novo em php estou estudando e treinando...
Jonas Nascimento

Jonas Nascimento

Responder

Posts

02/08/2017

Fabio Rocha

Jonas,

Como esta modelada as suas tabelas pelo que entendi agora não vem o id no resultado da sua lista.

Verifique se as suas tabelas jogos e publisher exitem uma coluna ambígua (id.

Antes você somente selecionava a tabela jogos que possui uma coluna id, agora voce faz o join e ambas tem coluna id.

tente fazer o seguinte:

$resultado=mysqli_query($conectar, "SELECT *,jogos.id as id_jogo FROM jogos 
INNER JOIN publishers ON publishers.id=jogos.publisher_id ORDER BY 'id'");

<a href='administrativo.php?link=20&id=<?php echo $linhas['id_jogo']; ?>'><button type='button' '>Visualizar </button></a>



Utilize um alias SQL para poder renomear no caso de exitirem colunas iguais.

Abraços
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar