666999 0 Denunciar post Postado Março 20, 2010 Ola pessoal estou criando um modelo que cadastra a foto nome e o email estou com duvida quero inserir uma tabela mysql categoria que tenha categoria livros revistas olha meu sistema cadastro.php <?php // Conexão com o banco de dados $conn = @mysql_connect("localhost", "root", "") or die ("Problemas na conexão."); $db = @mysql_select_db("banco", $conn) or die ("Problemas na conexão"); // Se o usuário clicou no botão cadastrar efetua as ações if ($_POST['cadastrar']) { // Recupera os dados dos campos $nome = $_POST['nome']; $email = $_POST['email']; $foto = $_FILES["foto"]; // Se a foto estiver sido selecionada if (!empty($foto["name"])) { // Largura máxima em pixels $largura = 150; // Altura máxima em pixels $altura = 180; // Tamanho máximo do arquivo em bytes $tamanho = 1000; // Verifica se o arquivo é uma imagem if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"])){ $error[1] = "Isso não é uma imagem."; } // Pega as dimensões da imagem $dimensoes = getimagesize($foto["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido if($arquivo["size"] > $tamanho) { $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes"; } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext); // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde ficará a imagem $caminho_imagem = "fotos/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($foto["tmp_name"], $caminho_imagem); // Insere os dados no banco $sql = mysql_query("INSERT INTO usuarios VALUES ('', '".$nome."', '".$email."', '".$nome_imagem."')"); // Se os dados forem inseridos com sucesso if ($sql){ echo "Você foi cadastrado com sucesso."; } } // Se houver mensagens de erro, exibe-as if (count($error) != 0) { foreach ($error as $erro) { echo $erro . "<br />"; } } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cadastro de usuário</title> </head> <body> <h1>Novo Usuário</h1> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="cadastro" > Nome:<br /> <input type="text" name="nome" /><br /><br /> Email:<br /> <input type="text" name="email" /><br /><br /> Foto de exibição:<br /> <input type="file" name="foto" /><br /><br /> <input type="submit" name="cadastrar" value="Cadastrar" /> </form> <hr /> E fiz uma pagina catalogo.php onde mostra todos produtos cadastrado <?php // Conexão com o banco de dados a pagina config_s.php tem usuario senha e o host para conectar ao bd include "/config_s.php"; // Seleciona todos os usuários $sql = mysql_query("SELECT * FROM usuarios ORDER BY nome"); // Exibe as informações de cada usuário while ($usuario = mysql_fetch_object($sql)) { // Exibimos a foto echo "<img src='fotos/".$usuario->foto."' alt='Foto de exibição' /><br />"; // Exibimos o nome e email echo "<b>Nome:</b> " . $usuario->nome . "<br />"; echo "<b>Email:</b> " . $usuario->email . "<br /><br />"; } ?> </body> </html> esse é o bd onde cadastra o link da foto nome e email -- Estrutura da tabela `usuarios` -- CREATE TABLE IF NOT EXISTS `usuarios` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `foto` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ; Eu tentei fazer uma tabela de categoria CREATE TABLE IF NOT EXISTS `categorias` ( `cod_cat` int(11) NOT NULL AUTO_INCREMENT, `nome_cat` varchar(60) DEFAULT NULL, PRIMARY KEY (`cod_cat`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; -- -- Extraindo dados da tabela `categorias` -- INSERT INTO `categorias` (`cod_cat`, `nome_cat`) VALUES (5, 'Livros'), (7, 'Revistas'); Como coloco um Tipo de Menu quando for fazer cadastro do produto na minha pagina cadastro.php escolhe se o produto vai ser da categoria livros ou revista eu queria saber como faço uma pagina catalago-livros.php para mostrar todos produtos que esta na categoria livros e fazer uma pagina catalago-revistas.php para mostrar todos produtos que esta na categoria revistras Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 20, 2010 Tenha apenas a página catalogo.php. O ID da categorias você passa por query string: categorias.php?id=5 5 é o ID da categoria no banco. Assim não precisa de uma págians para cada categoria. Veja este link. Acho que lhe será útil: http://www.rberaldo.com.br/blog/2009/10/24/categorias-e-subcategorias-exemplo-de-modelagem/ Compartilhar este post Link para o post Compartilhar em outros sites
kakaroto developer 0 Denunciar post Postado Março 20, 2010 eu acho que a duvida dele e como fazer o select nas duas tabelas :) e puxar a categoria certa vou espera o retorno e acho nao deve ser modelagem de bancos Compartilhar este post Link para o post Compartilhar em outros sites
666999 0 Denunciar post Postado Março 20, 2010 eu acho que a duvida dele e como fazer o select nas duas tabelas :) e puxar a categoria certa vou espera o retorno e acho nao deve ser modelagem de bancos A Resposta do Beraldo foi muito util pois eu iria fazer uma pagina para cada categoria agora vou fazer uma pagina catalogo.php para mostrar as duas categoria como faço um Menu na pagina Cadastro.php para selecionar se o produto vai ser cadastrada na categoria livros ou revista eu acho que minha duvida é sobre select nas duas tabelas Compartilhar este post Link para o post Compartilhar em outros sites
kakaroto developer 0 Denunciar post Postado Março 20, 2010 ou vou montar as tabelas e da um populada e você ver jaja :) essa query Compartilhar este post Link para o post Compartilhar em outros sites
kakaroto developer 0 Denunciar post Postado Março 20, 2010 ola meu velho se ligar no esquema que eu montei para você pergunta 1 como separar geral em suas categoria SELECT usuarios.nome, usuarios.email, usuarios.foto, categoria.categoria AS nome_da_categoria, categoria.id AS id_categoria FROM categoria INNER JOIN usuarios ON usuarios.categoria = categoria.id; pegar que esta na categoria =1 SELECT usuarios.nome, usuarios.email, usuarios.foto, categoria.categoria AS nome_da_categoria, categoria.id AS id_categoria FROM categoria INNER JOIN usuarios ON usuarios.categoria = categoria.id WHERE categoria.id = 1; minha sugestao para tu andar mais rapido crie uma view no seu banco ai você faz select so na view CREATE VIEW geral_separado AS SELECT usuarios.nome, usuarios.email, usuarios.foto, categoria.categoria AS nome_da_categoria, categoria.id AS id_categoria FROM categoria INNER JOIN usuarios ON usuarios.categoria = categoria.id execute esse comando de create view e dar uma olhada na nova tabela no seu php admin vai aparecer uma nova tabela geral separado ja com os campos que você precisar usar essa view e ajunção entre as duas tabelas :) que nos vamos usar que as duas tabelas -- phpMyAdmin SQL Dump -- version 3.2.0.1 -- http://www.phpmyadmin.net -- -- Servidor: localhost -- Tempo de Geração: Mar 20, 2010 as 05:01 PM -- Versão do Servidor: 5.1.36 -- Versão do PHP: 5.3.0 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Banco de Dados: `test` -- -- -------------------------------------------------------- -- -- Estrutura da tabela `categoria` -- CREATE TABLE IF NOT EXISTS `categoria` ( `id` int(11) NOT NULL AUTO_INCREMENT, `categoria` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Extraindo dados da tabela `categoria` -- INSERT INTO `categoria` (`id`, `categoria`) VALUES (1, 'livros'), (2, 'revistas'); -- -------------------------------------------------------- -- -- Estrutura da tabela `usuarios` -- CREATE TABLE IF NOT EXISTS `usuarios` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `foto` varchar(255) NOT NULL, `categoria` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=24 ; -- -- Extraindo dados da tabela `usuarios` -- INSERT INTO `usuarios` (`id`, `nome`, `email`, `foto`, `categoria`) VALUES (22, 'foto x', 'email@email.com', 'foto1.jpg', 1), (23, 'foto y', 'email@email.com', 'foto2.jpg', 2); qualquer duvida poste novamente :) crie a tabela de exemplo e use os sql de exemplo Compartilhar este post Link para o post Compartilhar em outros sites
666999 0 Denunciar post Postado Março 20, 2010 vlw cara funcionou eu tambem inseri no meu cadastro <select name="categoria" id="label5"> <option value="01">Livro</option> <option value="02">Revistas</option> </select> eu fiz um menu que insere o id da categoria pelo $categoria = $_POST['categoria']; e funcionou beleza Compartilhar este post Link para o post Compartilhar em outros sites
aabbcc 0 Denunciar post Postado Março 20, 2010 Oi eu botei esse primero código no meu blog. Daí eu sai de meu usuario e tentei me cadastrar, colokei tudo direitinho, mas dai apareceu q o site n podia exibir a pagina. Ah ee eu tbm qria saber o seguinte: Me cadastro em meu blog, mas dai em diante como faço login? Valeu, aguardo resposta Bjjs http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
kakaroto developer 0 Denunciar post Postado Março 21, 2010 Oi eu botei esse primero código no meu blog. Daí eu sai de meu usuario e tentei me cadastrar, colokei tudo direitinho, mas dai apareceu q o site n podia exibir a pagina. Ah ee eu tbm qria saber o seguinte: Me cadastro em meu blog, mas dai em diante como faço login? Valeu, aguardo resposta Bjjs http://forum.imasters.com.br/public/style_emoticons/default/joia.gif aonde esta a duvida eu nao entendi ???? Compartilhar este post Link para o post Compartilhar em outros sites