Ir para conteúdo
Fórum Script Brasil

Rastazituh

Membros
  • Total de itens

    68
  • Registro em

  • Última visita

Tudo que Rastazituh postou

  1. Rastazituh

    Instalação

    Aproveitando o tema: para testar os arquivos PHP na minha máquina basta instalar o Apache+PHP ? Eu tenho o EasyPHP instalado, mas será necessário configurar alguma coisa para que ele trabalhe ? Desculpem estar a deviar o rumo da conversa, mas como este tópico é relacionado com a instalação do PHP na própria máquina aproveitei. Obrigado.
  2. Rastazituh

    Create Table

    Bem, também não sei. Reformulei o código: // Adiciona nova tabela para a categoria $sql2 = "CREATE TABLE titulos$nome_categoria_tabela ( id_categoria INT (11) NOT NULL DEFAULT '$id2', id_titulo INT (11) NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ON UPDATE CASCADE, )"; $resultado2 = mysql_query($sql2) or die("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro na gravação dos dados! Por favor, volte e verifique novamente os campos.</font>"); E para variar um pouco está a dar erro.. Mas não vou desistir ! Vou procurar na secção de MySQL aqui do Fórum a ver se encontro alguma coisa.. Hum.. Mas muito obrigado pela sua ajuda, Illidan ! Assim que conseguir posto o resultado.
  3. Rastazituh

    Create Table

    Bem Illidan, não sei se era isto que queria, mas segue-se o código e a respectiva mensagem: // Pesquisa o ID da nova categoria $pesquisa2 = "SELECT * FROM categorias$tema WHERE nome_categoria_tabela = '$nome_categoria_tabela'"; $query2 = mysql_query($pesquisa2); $linha2 = mysql_fetch_array($query2); // Especificar os campos $id2 = $linha['id_categoria']; // Adiciona nova tabela para a categoria $sql2 = "CREATE TABLE titulos'$nome_categoria_tabela' ( id_categoria INT NOT NULL DEFAULT '$id2', id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ON UPDATE CASCADE, )"; print($sql2); exit($sql2); Mensagem que aparece: Obrigado pela ajuda. EDIT: Já descobri um dos erros, mas isto por culpa minha. A tabela deveria ser titulosExtra e não titulos'Extra'.
  4. Rastazituh

    Create Table

    Isso significa que, ao criar o nome da tabela, tenho de utilizar essa variável superglobal ? O que é estranho é que, no INSERT, tudo funciona, mas no CREATE não..
  5. Rastazituh

    Create Table

    De um input de um formulário. Vou colocar aqui todo o código. Portanto: o $id é enviado pela página anterior e o $nome_categoria e $nome_categoria_tabela são campos de formulário. <?php // Conexão com a Base de Dados require "comum.php"; // Pesquisa o nome do tema no qual a categoria será inserida $pesquisa = "SELECT * FROM temas WHERE id = '$id'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $tema = $linha['nome_tema_tabela']; // Insere a categoria na tabela correcta $sql = "INSERT INTO categorias$tema (id, nome_categoria, nome_categoria_tabela) VALUES ('$id', '$nome_categoria', '$nome_categoria_tabela')"; $resultado = mysql_query($sql); // Pesquisa o ID da nova categoria $pesquisa2 = "SELECT * FROM categorias$tema WHERE nome_categoria_tabela = '$nome_categoria_tabela'"; $query2 = mysql_query($pesquisa2); $linha2 = mysql_fetch_array($query2); // Especificar os campos $id2 = $linha['id_categoria']; // Adiciona nova tabela para a categoria $sql2 = "CREATE TABLE titulos'$nome_categoria_tabela' ( id_categoria INT NOT NULL DEFAULT '$id2', id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ON UPDATE CASCADE, )" or die(mysql_error("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro na gravação dos dados! Por favor, volte e verifique novamente os campos.</font>")); echo "<font size=\"2\" face=\"Verdana\" color=\"#000033\"><strong>Sucesso!</strong></font>"; echo "<BR>"; echo "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Nova categoria adicionada à Base de Dados.</font>"; echo "<BR>"; echo "<a href=\"index2.php\"><font size=\"1\" face=\"Verdana\" color=\"#000033\">>> Regressar ao Sistema de Conteúdos Nimbus</font></a>"; ?>
  6. Rastazituh

    Create Table

    O facto é que dá sucesso, mas a tabela não é adicionada..
  7. Rastazituh

    Create Table

    Ah, desculpe lá tudo isto mas.. Continua sem funcionar ! Bem, eu vou postar aqui a parte do código que não funciona após reformulada. Obrigado pela sua ajuda. // Pesquisa o ID da nova categoria $pesquisa2 = "SELECT * FROM categorias$tema WHERE nome_categoria_tabela = '$nome_categoria_tabela'"; $query2 = mysql_query($pesquisa2); $linha2 = mysql_fetch_array($query2); // Especificar os campos $id2 = $linha['id_categoria']; // Adiciona nova tabela para a categoria $sql2 = "CREATE TABLE titulos'$nome_categoria_tabela' ( id_categoria INT NOT NULL DEFAULT '$id2', id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ON UPDATE CASCADE, )"; $resultado2 = mysql_query($sql2) OR DIE mysql_error("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro na gravação dos dados! Por favor, volte e verifique novamente os campos.</font>"); echo "<font size=\"2\" face=\"Verdana\" color=\"#000033\"><strong>Sucesso!</strong></font>"; echo "<BR>"; echo "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Nova categoria adicionada à Base de Dados.</font>"; echo "<BR>"; echo "<a href=\"index2.php\"><font size=\"1\" face=\"Verdana\" color=\"#000033\">>> Regressar ao Sistema de Conteúdos Nimbus</font></a>";
  8. Rastazituh

    Create Table

    Bem, tentei novamente mas não consegui, repare: $sql2 = "CREATE TABLE titulos'$nome_categoria_tabela' ( id_categoria INT NOT NULL DEFAULT '$id2', id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ON UPDATE CASCADE, )"; $resultado2 = mysql_query($sql2) or die ("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro na gravação dos dados! Por favor, volte e verifique novamente os campos.</font>"); Obrigado.
  9. Rastazituh

    Create Table

    Hum.. Eu fui à procura no manual de PHP e não encontrei nenuma função do género 'mysql_query' para criar as tabelas. Não consigo mesmo descobrir qual é.. Alguém me pode dizer ? UPDATE: Desculpe esta mensagem, só agora é que vi a última parte do seu post =) Obrigado.
  10. Rastazituh

    Create Table

    Eu tenho isto: // Adiciona nova tabela para a categoria $sql2 = "CREATE TABLE titulos'$nome_categoria_tabela' ( id_categoria INT NOT NULL DEFAULT '$id2', id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ON UPDATE CASCADE, )" or die ("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro na gravação dos dados! Por favor, volte e verifique novamente os campos.</font>"); Agora, porque não funciona ? Preciso de executar por Query ?
  11. Rastazituh

    Create Table

    Boas ! O assunto que me traz aqui hoje é o seguinte: a função do PHP CREATE TABLE pode ser antecedida por uma variável ? E tem de ter algum comando para a executar (como a Query das pesquisas) ? Exemplos: $sql = "CREATE TABLE x ( ... )"; ou apenas CREATE TABLE x ( ... ); Aguardo resposta. Obrigado.
  12. Alguém pode-me explicar ? Muito Obrigado !! Parece que o tópico foi esquecido.. =( Alguém por aí que me saiba esclarecer esta dúvida ?
  13. O código está quase pronto ! Neste momento já adiciona a nova categoria na tabela, mas ainda não cria a nova tabela.. Existe alguma função específica para criar a nova tabela ? <?php // Conexão com a Base de Dados require "comum.php"; // Pesquisa o nome do tema no qual a categoria será inserida $pesquisa = "SELECT * FROM temas WHERE id = '$id'"; $query = mysql_query($pesquisa); $linha = mysql_fetch_array($query); // Especificar os campos $tema = $linha['nome_tema_tabela']; // Insere a categoria na tabela correcta $sql = "INSERT INTO categorias$tema (id, nome_categoria, nome_categoria_tabela) VALUES ('$id', '$nome_categoria', '$nome_categoria_tabela')"; $resultado = mysql_query($sql); // Pesquisa o ID da nova categoria $pesquisa2 = "SELECT * FROM categorias$tema WHERE nome_categoria_tabela = '$nome_categoria_tabela'"; $query2 = mysql_query($pesquisa2); $linha2 = mysql_fetch_array($query2); // Especificar os campos $id2 = $linha['id_categoria']; // Adiciona nova tabela para a categoria $sql2 = "CREATE TABLE titulos'$nome_categoria_tabela' ( id_categoria INT NOT NULL DEFAULT '$id2', id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ON UPDATE CASCADE, )" or die ("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro na gravação dos dados! Por favor, volte e verifique novamente os campos.</font>"); echo "<font size=\"2\" face=\"Verdana\" color=\"#000033\"><strong>Sucesso!</strong></font>"; echo "<BR>"; echo "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Nova categoria adicionada à Base de Dados.</font>"; echo "<BR>"; echo "<a href=\"index2.php\"><font size=\"1\" face=\"Verdana\" color=\"#000033\">>> Regressar ao Sistema de Conteúdos Nimbus</font></a>"; ?> A partir de // Adiciona nova tabela para a categoria deixa de funcionar. Obrigado pela atenção.
  14. Boas ! Aconteceu-me hoje algo estranho: tenho o sistema de notícias MZNews instalado no meu servidor, que nunca deu problemas; contudo, desde hoje que sempre que tento fazer Login apresenta-se a manesagem de que o user/password estão incorrectos. Verifiquei o hardware, o modem e o routr. Tudo a fucnionar. Fui ao meu outro PC e de lá consigo aceder ao MZNews; os outros users também conseguem; todos menos eu ! Porque será ? Que configurações teram sido alteradas ? Será vírus ?? A minha net é por cabo e utilizo um router wireless, nunca deram problemas como este.. Estou a entrar em desespero, pois tenho muitas actualizações no site a fazer ! O que posso faezr ?? Obrigado pela atenção.
  15. O sistema funciona assim: 1 Tabela 'temas' com todos os temas criados X Tabelas 'categorias$nome_tema_tabela' Para listar as categorias de cada tema X Tabelas 'titulos$nome_categoria_tabela' com os títulos e conteúdos de cada categoria X Tabelas 'subtitulos$nome_titulo_tabela' com eventuais subtitulos para alguns títulos Pronto. Ao inserir uma nova categoria, ele terá de fazer: - Identificar o $tema = 'nome_tema_tabela' correspondente ao '$id' da do tema - Adicionar uma nova categoria na tabela 'categorias$tema' - Identificar o $id2 = 'id_categoria', que será uma posterior Foreign Key para a tabela a criar no passo seguinte (essa Foreign Key é a Primary Key da categoria = '$nome_categoria_tabela' - Criar uma nova tabela 'titulos$nome_categoria_tabela', para listar os títulos da nova categoria criada, onde FK = 'id_categoria' da nova categoria adicionada na tabela 'categorias$nome_tema_tabela' Espero ter-me explicado melhor. Aguardo ajuda. Obrigado.
  16. Resolvi fazer algumas mudanças no código anteriormente postado. Tenho dúvidas quanto a certas coisas, mas.. Cá vai ele (foi feito por mim, portanto é certo que tem erros, pois não funciona): addcategoria_bd.php (formulário) <?php $tema_escolhido = mysql_query("SELECT * FROM temas WHERE id = '$id'"); $linha=mysql_fetch_array($tema_escolhido); $tema = $linha['nome_tema']; // Apresenta a frase com o tema escolhido echo "<p><font size=\"1\" face=\"Verdana\">Adicione uma nova categoria ao tema '$tema' através do seguinte formulário</font></p>"; ?> <form action="addcategoria_bd2.php" method="post" name="adduser" id="adduser"> <font size="2" face="Tahoma"> </font> <center> <p align="left"></p> </center> <table width="333" border="0" cellpadding="0" cellspacing="2"> <tr> <td width="165"><div align="left"><font size="1" face="Verdana">Categoria:</font></div></td> <td colspan="2"><div align="justify"><font size="1" face="Verdana"> <input name="nome_categoria" type="text" class="post" size="20"> </font></div></td> </tr> <tr> <td width="165"><font size="1" face="Verdana">Categoria (Nome para a tabela):</font></td> <td colspan="2"><font size="1" face="Verdana"> <input name="nome_categoria_tabela" type="text" class="post" size="20"> </font></td> </tr> <tr> <td colspan="3"><div align="center"><font size="2" face="Tahoma"><font face="Verdana"></font> </font><font size="2" face="Verdana">&nbsp; </font><font size="2" face="Verdana"> <input name="submit" type="submit" class="button" value="Adicionar"> </font></div></td> </tr> </table> </form> adduser_bd2.php (agora, o meu código) <?php // Conexão com a Base de Dados require "comum.php"; // Pesquisa o nome do tema no qual a categoria será inserida $pesquisa = "SELECT nome_tema_tabela FROM temas WHERE id = '$id'"; $tema = mysql_query($pesquisa); // Insere a categoria na tabela correcta $sql = "INSERT INTO categorias'$tema' (id, nome_categoria, nome_categoria_tabela) VALUES ('$id', '$nome_categoria', '$nome_categoria_tabela')"; $resultado = mysql_query($sql); // Pesquisa o ID da nova categoria $pesquisa2 = "SELECT id_categoria FROM categorias'$tema' WHERE nome_categoria_tabela = '$nome_categoria_tabela'"; $id2 = mysql_query($pesquisa2); // Adiciona nova tabela para a categoria $sql2 = "CREATE TABLE titulos'$nome_categoria_tabela' ( id_categoria INT NOT NULL DEFAULT '$id2', id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias'$tema' (id_categoria) ON UPDATE CASCADE, )" or die ("<font size=\"1\" face=\"Verdana\" color=\"#000033\">Erro na gravação dos dados! Por favor, volte e verifique novamente os campos.</font>"); echo "<font size=\"2\" face=\"Verdana\" color=\"#000033\"><strong>Sucesso!</strong></font>"; echo "<BR>"; echo "<font size=\"1\" face=\"Verdana\" color=\"#000033\">Nova categoria adicionada à Base de Dados.</font>"; echo "<BR>"; echo "<a href=\"index2.php\"><font size=\"1\" face=\"Verdana\" color=\"#000033\">>> Regressar ao Sistema de Conteúdos Nimbus</font></a>"; ?> Não sei se o erro é nos mysql_query's, se nas últimas linhas.. O facto é que aparece a mensagem de sucesso mas os dados não são inseridos na Base de Dados. Obrigado pela atenção.
  17. Mas o script acima foi feito por mim mesmo.. O que eu queria saber era se as variáveis enquanto nomes de tabelas funcionam. Devo ter complicado demais a minha explicação, pelos vistos. Então, acha que o sript que apresentei pode resultar ? Só não sei se as variáveis enquanto nomes de tabelas e de campos de tabelas funcionarão..
  18. Sim, está francamente bem explicado, consegui entender pelo menos essa parte dos SELECTs. Mas o que me vem atormentando: e os INSERTs, como fazer ? Qual a estrutura ? Já procurei pela net e não encontrei nada Terá de ser algo como isto ??: $sql = "INSERT INTO categorias$tema (nome_categoria) VALUES ($nome_categoria)"; $resultado = mysql_query($sql); $pesquisa = "SELECT nome_tema FROM temas WHERE id = '$id'"; $tema = mysql_query($pesquisa); $sql2 = " CREATE TABLE titulos$nome_categoria ( id_categoria INT NOT NULL, id_titulo INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nome_titulo VARCHAR (250) NOT NULL, FOREIGN KEY (id_categoria) REFERENCES categorias$tema (id_categoria) ); Em que: $tema = nome do tema, que para além de estar listado na tabela TEMAS estará também no nome da tabela em que a categoria será inserida; $nome_categoria = dados inseridos no campo de texto do formulário da página. Poderá funcionar ?
  19. Fiz um esquema e scannei: Esquema de Tabelas Tente entender por aí, por favor. Obrigado.
  20. Mas voltando à minha dúvida: Digamos que tenho a página addcategoria_bd.php?id=1, em que 1 é o ID de um campo da tabela. Nessa página tenho um formulário. Preciso de fazer algo como: INSERT INTO tabela (nome_categoria) VALUES ($nome_categoria) O meu problema é saber como é que ele vai identificar o nome da tabela em que tem de inserir. Essa tabela é que é definida por ForeignKey, porque o id_tema da tabela que foi escolhida para inserir nova categoria (neste caso id=1) é o id da tabela em que os temas estão listados. Apenas sabendo o ID do tema escolhido ele vai ter de fazer uma pesquisa em todas as restantes tabelas para identificar em qual id_tema=1. Assim que souberem como devo fazer a identificação dessa tabela, por favor, respondam. Eu só encotnro de SELECTs e mesmo assim não compreendo =\. Obrigado !
  21. Eu sei isso. Na verdade, o que sei é que preciso faezr um SELECT. Mas segundo me parece, é um SELECT com mais opções do que o normal. Gostava era de saber, então, qual é esse tipo de SELECT. Eu próprio não quero nada feito, quero aprender a fazer. Obrigado.
  22. Boas ! O que hoje me traz aqui é o assunto das Foreign Keys. Isto é difícil de explicar a ainda mais difícil de fazer. Digamos que tenho as seguintes tabelas MySQL: temas categoriasLivros titulosSinopses Ou seja, uma hierarquia de tabelas. A tabela TEMAS tem vários temas, cada um deles com uma tabela categorias[Tema], e cada categoria com uma tabela titulos[Categoria]. Tenho agora alguns PHPs. Um deles lista, numa tabela, todos os temas da tabela TEMAS, e cada linha da tabela, correspondente a cada tema, tem uma célula com o link Adicionar Categoria. Este faz um reload para addcategoria.php?id=$id, em que $id é o id da tabela escolhida. Nesta página tenho um campo de texto em que se digita o nome da categoria, e o botão Submit. Agora vem o grande problema: Consoante o tema escolhido, o nome dessa categoria será adicionado na tabela categorias[Tema] lhe correspondente, ou seja, em que a Foreign Key (id_tema) de categorias[Tema] seja a Primary Key (id) de TEMAS. Depois disto, terá de ser criada uma nova tabela titulos[Categoria], em que a Foreign Key (id_categoria) será a Primary Key (id_categoria) da categoria da tabela categorias[Tema]. Compreenderam mais ou menos ? A categoria adicionada será colocada na tabela cuja Foreign Key seja igual a $id, e também a nova tabela será criada de forma a que, quando for adicionados dados, a Foreign Key seja sempre a Primary Key de categorias[Tema]. Seguem-se os PHPs: addcategoria.php <?php echo "<table width=\"400\" align=\"center\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\">"; echo "<tr>"; echo "<th widht=\"15\"><strong><font size=\"1\" face=\"Verdana\"><center>ID</center></font></strong></th>"; echo "<th widht=\"50\"><strong><font size=\"1\" face=\"Verdana\"><center>Tema</center></font></strong></th>"; echo "<th widht=\"30\"><strong><font size=\"1\" face=\"Verdana\"><center>Escolher</center></font></strong></th>"; while ($linha=mysql_fetch_array($resultado)) { $id = $linha["id"]; $nome_tema = $linha["nome_tema"]; echo "<tr></tr>"; echo "<tr>"; echo "<td widht=\"15\" height=\"20\"><font size=\"1\" face=\"Verdana\" style=\"text-decoration: none\"><center>$id</center></font></td>"; echo "<td widht=\"50\" height=\"20\"><font size=\"1\" face=\"Verdana\" style=\"text-decoration: none\"><center>$nome_tema</center></font></td>"; echo "<th widht=\"30\" height=\"20\"><a href='addcategoria_bd.php?id=$id'><img src=\"http://www.nimbus.com.pt/conteudos/images/chosenyes.gif\" border=\"0\"></a></th>"; echo "</tr>"; } echo "</table>"; ?> addcategoria_bd.php <?php $tema_escolhido = mysql_query("SELECT * FROM temas WHERE id = '$id'"); $linha=mysql_fetch_array($tema_escolhido); $tema = $linha['nome_tema']; // Apresenta a frase com o tema escolhido echo "<p><font size=\"1\" face=\"Verdana\">Adicione uma nova categoria ao tema '$tema' através do seguinte formulário</font></p>"; ?> <form action="addcategoria_bd2.php" method="post" name="adduser" id="adduser"> <font size="2" face="Tahoma"> </font> <center> <p align="left"></p> </center> <table width="260" border="0" cellpadding="0" cellspacing="2"> <tr> <td width="55"><div align="left"><font size="1" face="Verdana">Categoria:</font></div></td> <td colspan="2"><div align="justify"><font size="1" face="Verdana"> <input name="categoria" type="text" class="post" id="username" size="20"> </font></div></td> </tr> <tr> <td><div align="left"><font size="2" face="Tahoma"><font face="Verdana"></font> </font></div></td> <td width="53"><font size="2" face="Verdana">&nbsp; </font></td> <td width="144"><font size="2" face="Verdana"> <input name="submit" type="submit" class="button" value="Adicionar"> </font></td> </tr> </table> </form> Agora preciso do script de addcategoria_bd2.php. Como fazer, alguém tem ideia ? Obrigado desde já pela atenção.
  23. Consegui, eu consegui ! Com a vossa preciosa ajuda ! Agora, só aquele pormenor: Alguém pode-me explicar ? Muito Obrigado !!
  24. Existe mesmo o campo id e os correspondentes ao nome estão preenchidos. Alguma sugestão ou será problema com o servidor ? Obrigado.
×
×
  • Criar Novo...