AllieNNN Posted June 4, 2015 at 10:17 AM Report #584223 Posted June 4, 2015 at 10:17 AM Boas, Estou a tentar fazer com que ao carregar num botao, mostre só as subcategorias de cada categoria. Mas dá me este erro : Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\balancascopia\conteudos\sub_categoria.php on line 4 Conseguem-me ajudar? <?php $query = "SELECT * from categoria INNER JOIN sub_categoria ON id_categoria "; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { echo '<div class="read1"> <div class="read1-img1"> '.$row['foto_subcategoria'] .' </div> <h3>'.$row['nome_subcategoria'].'</h3> <a href="index.php?p=produtos&id='.$row['nome_categoria'].'">VER MAIS</a> </div>'; } ?>
HappyHippyHippo Posted June 4, 2015 at 10:25 AM Report #584224 Posted June 4, 2015 at 10:25 AM como a mensagem de erro indica, o parâmetro da função mysql_fetch_array necessira que seja do tipo recurso como o valor que estás a inserir como parâmetro dessa função é o resultado da chamada da função mysql_query, quer dizer simplesmente que essa função falhou, sendo de esperar que seja uma de duas razões: - erro de ligação à base de dados - erro no comando SQL executado para isso, é necessário recorrer à função mysql_error para determinar exactamente quais dessas duas situações que ocorreu para se determinar que passos deverão ser tomados para resolver o problema. ps : prepara-te para a torrente de post's a dizerem para não usares a família de funções mysql_* e passares a usar mysqli_* ou PDO IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 10:46 AM Author Report #584225 Posted June 4, 2015 at 10:46 AM Aparece-me este erro agora , acrescentei o tal my sql error : while($row = mysql_fetch_array($result) or die(mysql_error())); Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\balancascopia\conteudos\sub_categoria.php on line 4 Column 'id_categoria' in on clause is ambiguous Se não usasse essa familia qual usaria? Sou novo em php...
HappyHippyHippo Posted June 4, 2015 at 10:52 AM Report #584226 Posted June 4, 2015 at 10:52 AM pensa nas duas tabelas que tens se as duas tabelas possuem a mesma coluna (is_categoria), como achas que computador sabe de que tabela pertence a coluna denominada por id_categoria ? isto porque na realidade o teu SLQ está mal construido: https://dev.mysql.com/doc/refman/5.0/en/join.html IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 10:58 AM Author Report #584227 Posted June 4, 2015 at 10:58 AM Mas então como faço para ligar as tabelas? não tem que ter algo em comum? basta mudar o id_categoria da tabela sub_categoria para idd_categoria por exemplo?? uso assim??? $query = "SELECT from categoria INNER JOIN sub_categoria ON categoria.id_categoria=sub_categoria.id_categoria";
HappyHippyHippo Posted June 4, 2015 at 11:00 AM Report #584228 Posted June 4, 2015 at 11:00 AM (edited) vês como aprendes depressa ? ps : nesse SQL falta só dizer que campos queres que o query retorne Edited June 4, 2015 at 11:01 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 11:06 AM Author Report #584229 Posted June 4, 2015 at 11:06 AM Agora entendi, muito obrigado mas continua a dar erro de syntax Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\balancascopia\conteudos\sub_categoria.php on line 4 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from categoria INNER JOIN sub_categoria ON categoria.id_categoria=sub_categoria.' at line 1 <?php $query = "SELECT from categoria INNER JOIN sub_categoria ON categoria.id_categoria=sub_categoria.id_categoria"; $result = mysql_query($query); while($row = mysql_fetch_array($result) or die(mysql_error())); { echo '<div class="read1"> <div class="read1-img1"> '.$row['foto_subcategoria'] .' </div> <h3>'.$row['nome_subcategoria'].'</h3> <a href="index.php?p=produtos&id='.$row['nome_categoria'].'">VER MAIS</a> </div>'; } ?> ps: Como assim? não estou a perceber onde tenho de definir
HappyHippyHippo Posted June 4, 2015 at 11:09 AM Report #584230 Posted June 4, 2015 at 11:09 AM ps : nesse SQL falta só dizer que campos queres que o query retorne https://dev.mysql.com/doc/refman/5.0/en/select.html IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 11:20 AM Author Report #584231 Posted June 4, 2015 at 11:20 AM Peço desculpa mas não estou a chegar lá... Estou baralhado.. $query = "SELECT table_references from categoria INNER JOIN sub_categoria ON (categoria.id_categoria=sub_categoria.id_categoria; coloquei isso deu--me erro nisto: Parse error: syntax error, unexpected 'read1' (T_STRING) in C:\xampp\htdocs\balancascopia\conteudos\sub_categoria.php on line 5 <?php $query = "SELECT table_references from categoria INNER JOIN sub_categoria ON (categoria.id_categoria=sub_categoria.id_categoria; $result = mysql_query($query); while($row = mysql_fetch_array($result) or die(mysql_error())); { echo '<div class="read1"> <div class="read1-img1"> '.$row['foto_subcategoria'] .' </div> <h3>'.$row['nome_subcategoria'].'</h3> <a href="index.php?p=produtos&id='.$row['nome_categoria'].'">VER MAIS</a> </div>'; } ?>
HappyHippyHippo Posted June 4, 2015 at 11:30 AM Report #584233 Posted June 4, 2015 at 11:30 AM (edited) não sei onde tiraste a ideia de enfiar um parêntesis logo a seguir à palavra reservada ON assim como retiraste o caracter terminador da string vamos esquecer completametne isso e voltar atrás : $query = "SELECT from categoria INNER JOIN sub_categoria ON categoria.id_categoria=sub_categoria.id_categoria"; agora diz >> como indicas que campos queres obter da query ? a resposta está no link que te tinha fornecido : https://dev.mysql.com/doc/refman/5.0/en/select.html Edited June 4, 2015 at 11:31 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 11:32 AM Author Report #584234 Posted June 4, 2015 at 11:32 AM estive a ver, nao estou a perceber nada que esta escrito.. nesse link..
HappyHippyHippo Posted June 4, 2015 at 11:40 AM Report #584235 Posted June 4, 2015 at 11:40 AM então vamos por outro lado, como estás a aprender a progrmar php+mysql ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 11:43 AM Author Report #584236 Posted June 4, 2015 at 11:43 AM Neste momento sozinho, estou em estágio e na escola mal demos php, demos merdas básicas como tudo, tutoriais e assim..
HappyHippyHippo Posted June 4, 2015 at 12:09 PM Report #584238 Posted June 4, 2015 at 12:09 PM ok ... foi então na escola que te ensinaram PHP e como interagir com um servidor SQL (era de supor) ... nesse caso, o melhor é mesmo dizer o que deves fazer para teres a noção das coisas. nota que não invalida teres de ler a documentação que te amostrei através dos links. é algo que tens de ler e perceber, custe o que custar ok o teu problema está aqui: SELECT from categoria INNER JOIN sub_categoria ON categoria.id_categoria=sub_categoria.id_categoria A | que campos queres que o query retorne ? tens de fazer pelo menos uma das seguintes coisas: - listar os campos das tabelas que queres que o query retorne - dizer que queres todos os campos de uma das tabelas usadas - dizer que queres simplesmente todos os campos exemplo (listar todos os campos da tabela categoria) : SELECT categoria.* from categoria INNER JOIN sub_categoria ON categoria.id_categoria=sub_categoria.id_categoria IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 12:16 PM Author Report #584239 Posted June 4, 2015 at 12:16 PM Eu tentei por só categoria mas não fez nada, faltava-me então por o " .* " neste momento nao estou no estágio mas mal chegue lá vou experimentar.. Agradeço-lhe imenso a paciência.. Eu sabia que era naquela zona que devia chamar, mas não estava a conseguir da maneira normal..
AllieNNN Posted June 4, 2015 at 12:36 PM Author Report #584241 Posted June 4, 2015 at 12:36 PM Agora o meu problema está na div que quero apresentar .... Este código é o das categorias que me iriam aparecer <?php $query = "SELECT * from categoria"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { echo '<div class="read1"> <div class="read1-img1"> '.$row['foto_categoria'] .' </div> <h3>'.$row['nome_categoria'].'</h3> <a href="index.php?p=sub_categoria&id='.$row['id_categoria'].'">VER MAIS</a> </div>'; } ?> Neste é o codigo onde aparecem as subcategorias de cada categoria <?php $query = "SELECT categoria.* , sub_categoria.* from categoria INNER JOIN sub_categoria ON categoria.id_categoria=sub_categoria.id_categoria; $result = mysql_query($query); while($row = mysql_fetch_array($result) or die(mysql_error())); { echo'<div class="read1"> <div class="read1-img1"> '.$row['foto_subcategoria'] .' </div> <h3>'.$row['nome_subcategoria'].'</h3> <a href="index.php?p=produtos&id='.$row['nome_categoria'].'">VER MAIS</a> </div>'; } ?>
HappyHippyHippo Posted June 4, 2015 at 12:38 PM Report #584242 Posted June 4, 2015 at 12:38 PM dizes que tens um problema, mas não dizes qual é ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 12:39 PM Author Report #584243 Posted June 4, 2015 at 12:39 PM Parse error: syntax error, unexpected 'read1' (T_STRING) in C:\xampp\htdocs\balancascopia\conteudos\sub_categoria.php on line 6 é este e é no codigo das sub_categorias..
HappyHippyHippo Posted June 4, 2015 at 12:40 PM Report #584245 Posted June 4, 2015 at 12:40 PM que editor de texto estás a usar ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
AllieNNN Posted June 4, 2015 at 12:45 PM Author Report #584246 Posted June 4, 2015 at 12:45 PM Notepad ++ faltava-me as aspas no fim da query
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now