Sistema de cadastro com INNER JOIN nao consigo trazer o ID do jogo
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..
.
Obrigado a todos sou novo em php estou estudando e treinando...
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
Curtidas 0
Respostas
Fabio Rocha
27/07/2017
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:
Utilize um alias SQL para poder renomear no caso de exitirem colunas iguais.
Abraços
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
GOSTEI 0